52 |
52 |
53 import com.nokia.carbide.cpp.internal.pi.address.GppModelAdapter; |
53 import com.nokia.carbide.cpp.internal.pi.address.GppModelAdapter; |
54 import com.nokia.carbide.cpp.internal.pi.address.GppTraceGraphSMP; |
54 import com.nokia.carbide.cpp.internal.pi.address.GppTraceGraphSMP; |
55 import com.nokia.carbide.cpp.internal.pi.analyser.NpiInstanceRepository; |
55 import com.nokia.carbide.cpp.internal.pi.analyser.NpiInstanceRepository; |
56 import com.nokia.carbide.cpp.internal.pi.analyser.ProfileVisualiser; |
56 import com.nokia.carbide.cpp.internal.pi.analyser.ProfileVisualiser; |
|
57 import com.nokia.carbide.cpp.internal.pi.model.ICPUScale; |
57 import com.nokia.carbide.cpp.internal.pi.model.ProfiledBinary; |
58 import com.nokia.carbide.cpp.internal.pi.model.ProfiledBinary; |
58 import com.nokia.carbide.cpp.internal.pi.model.ProfiledFunction; |
59 import com.nokia.carbide.cpp.internal.pi.model.ProfiledFunction; |
59 import com.nokia.carbide.cpp.internal.pi.model.ProfiledGeneric; |
60 import com.nokia.carbide.cpp.internal.pi.model.ProfiledGeneric; |
60 import com.nokia.carbide.cpp.internal.pi.model.ProfiledThread; |
61 import com.nokia.carbide.cpp.internal.pi.model.ProfiledThread; |
61 import com.nokia.carbide.cpp.internal.pi.model.ProfiledThreshold; |
62 import com.nokia.carbide.cpp.internal.pi.model.ProfiledThreshold; |
64 import com.nokia.carbide.cpp.internal.pi.visual.Defines; |
65 import com.nokia.carbide.cpp.internal.pi.visual.Defines; |
65 import com.nokia.carbide.cpp.internal.pi.visual.GenericTable; |
66 import com.nokia.carbide.cpp.internal.pi.visual.GenericTable; |
66 import com.nokia.carbide.cpp.internal.pi.visual.GenericTraceGraph; |
67 import com.nokia.carbide.cpp.internal.pi.visual.GenericTraceGraph; |
67 import com.nokia.carbide.cpp.internal.pi.visual.GraphComposite; |
68 import com.nokia.carbide.cpp.internal.pi.visual.GraphComposite; |
68 import com.nokia.carbide.cpp.internal.pi.visual.PIEvent; |
69 import com.nokia.carbide.cpp.internal.pi.visual.PIEvent; |
|
70 import com.nokia.carbide.cpp.pi.PiPlugin; |
69 import com.nokia.carbide.cpp.pi.editors.PIPageEditor; |
71 import com.nokia.carbide.cpp.pi.editors.PIPageEditor; |
70 import com.nokia.carbide.cpp.pi.util.ColorPalette; |
72 import com.nokia.carbide.cpp.pi.util.ColorPalette; |
71 import com.nokia.carbide.cpp.pi.visual.IGenericTraceGraph; |
73 import com.nokia.carbide.cpp.pi.visual.IGenericTraceGraph; |
72 |
74 |
73 /** |
75 /** |
2358 changeViewAction.setText(isSeparate ? Messages.getString("GppTraceGraph.18") : Messages.getString("GppTraceGraph.19")); //$NON-NLS-1$ //$NON-NLS-2$ |
2360 changeViewAction.setText(isSeparate ? Messages.getString("GppTraceGraph.18") : Messages.getString("GppTraceGraph.19")); //$NON-NLS-1$ //$NON-NLS-2$ |
2359 changeViewAction.addSelectionListener(new SelectionAdapter() { |
2361 changeViewAction.addSelectionListener(new SelectionAdapter() { |
2360 public void widgetSelected(SelectionEvent e) { |
2362 public void widgetSelected(SelectionEvent e) { |
2361 AddressPlugin.getDefault().receiveSelectionEvent(isSeparate ? AddressPlugin.ACTION_COMBINED_CPU_VIEW : AddressPlugin.ACTION_SEPARATE_CPU_VIEW); |
2363 AddressPlugin.getDefault().receiveSelectionEvent(isSeparate ? AddressPlugin.ACTION_COMBINED_CPU_VIEW : AddressPlugin.ACTION_SEPARATE_CPU_VIEW); |
2362 } |
2364 } |
2363 }); |
2365 }); |
|
2366 |
2364 } |
2367 } |
2365 |
2368 |
2366 } |
2369 ProfiledThread profiledThread = (ProfiledThread)getProfiledThreads().firstElement(); |
2367 |
2370 if(profiledThread != null){ |
|
2371 Object object = profiledThread.getAdapter(ICPUScale.class); |
|
2372 if(object != null){ |
|
2373 ICPUScale cpuScale = (ICPUScale)object; |
|
2374 if(cpuScale.isCpuScaleSupported()){ |
|
2375 boolean scaleCPU = profiledThread.isScaledCpu(); |
|
2376 new MenuItem(menu, SWT.SEPARATOR); |
|
2377 MenuItem scaleCPUMenuItem = new MenuItem(menu, SWT.CHECK); |
|
2378 scaleCPUMenuItem.setText(Messages.getString("GppTraceGraph.scaleCPUClockSpeed")); //$NON-NLS-1$ |
|
2379 final boolean scaleCPUFinal = scaleCPU; |
|
2380 |
|
2381 scaleCPUMenuItem.addSelectionListener(new SelectionAdapter() { |
|
2382 public void widgetSelected(SelectionEvent e) { |
|
2383 NpiInstanceRepository |
|
2384 .getInstance() |
|
2385 .activeUidSetPersistState( |
|
2386 PiPlugin.ACTION_SCALE_CPU, !scaleCPUFinal); //$NON-NLS-1$ |
|
2387 |
|
2388 for (int i = 0; i < 3; i++) { |
|
2389 GppTraceGraph graph = (GppTraceGraph) ((GppTrace)getTrace()).getTraceGraph(i); |
|
2390 graph.action(IGppTraceGraph.ACTION_CHANGE_THRESHOLD_THREAD); |
|
2391 graph.updateSelectionArea(PIPageEditor.currentPageEditor().getStartTime(), PIPageEditor.currentPageEditor().getEndTime()); |
|
2392 } |
|
2393 } |
|
2394 }); |
|
2395 scaleCPUMenuItem.setSelection(scaleCPUFinal); |
|
2396 } |
|
2397 } |
|
2398 } |
|
2399 } |
2368 } |
2400 } |