import java.util.HashMap;
import java.util.List;
+import org.eclipse.nebula.widgets.grid.Grid;
import org.eclipse.nebula.widgets.grid.GridColumn;
import org.eclipse.nebula.widgets.grid.GridItem;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Composite;
import org.tizen.dynamicanalyzer.ui.file.model.FileAccessor;
import org.tizen.dynamicanalyzer.ui.file.model.FileEvent;
import org.tizen.dynamicanalyzer.ui.file.model.FileSelectedData;
+import org.tizen.dynamicanalyzer.ui.memory.MemoryChartView;
+import org.tizen.dynamicanalyzer.ui.memory.MemoryPage;
+import org.tizen.dynamicanalyzer.ui.network.NetworkChartView;
+import org.tizen.dynamicanalyzer.ui.network.NetworkPage;
+import org.tizen.dynamicanalyzer.ui.opengl.GLPage;
+import org.tizen.dynamicanalyzer.ui.opengl.chart.GLChartView;
+import org.tizen.dynamicanalyzer.ui.page.BaseView;
+import org.tizen.dynamicanalyzer.ui.range.RangeDataManager;
+import org.tizen.dynamicanalyzer.ui.thread.ThreadPage;
+import org.tizen.dynamicanalyzer.ui.thread.chart.ThreadChartView;
+import org.tizen.dynamicanalyzer.ui.timeline.TimelinePage;
+import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartView;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
+import org.tizen.dynamicanalyzer.ui.toolbar.Toolbar;
import org.tizen.dynamicanalyzer.ui.widgets.table.DAApiListTableComposite;
import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat;
import org.tizen.dynamicanalyzer.util.Logger;
+import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
import org.tizen.dynamicanalyzer.utils.Formatter;
public class FileApiListTable extends DAApiListTableComposite {
public void widgetDefaultSelected(SelectionEvent e) {
}
});
+
+ table.addMouseListener(new MouseListener() {
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void mouseDown(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void mouseDoubleClick(MouseEvent e) {
+ GridItem[] ti = ((Grid) e.widget).getSelection();
+ if (null == ti || ti.length == 0) {
+ return;
+ }
+ List<Object> markerData = ((DATableDataFormat) ti[0].getData()).getData();
+ long markerTime = Long.parseLong((String)markerData.get(1));
+ addMarker(markerTime);
+ }
+ });
+ }
+
+ private void addMarker(long markerTime) {
+ double startMarkerTime = markerTime / (TimelineConstants.MEGA_DOUBLE);
+
+ TimelineChartView TLchartView = (TimelineChartView) AnalyzerUtil.getView(TimelinePage.pageID, TimelineChartView.class.getName());
+ NetworkChartView NETchartView = (NetworkChartView) AnalyzerUtil.getView(NetworkPage.pageID, NetworkChartView.class.getName());
+ ThreadChartView THRchartView = (ThreadChartView) AnalyzerUtil.getView(ThreadPage.pageID, ThreadChartView.class.getName());
+ FileChartView FLchartView = (FileChartView) AnalyzerUtil.getView(FilePage.pageID, FileChartView.class.getName());
+ GLChartView GLchartview = (GLChartView) AnalyzerUtil.getView(GLPage.pageID, GLChartView.class.getName());
+ MemoryChartView MMchartView = (MemoryChartView) AnalyzerUtil.getView(MemoryPage.pageID, MemoryChartView.class.getName());
+
+ //1. add marker to rangedatamanager
+ RangeDataManager.getInstance().addMarkerTime(markerTime);
+
+ //2. add marker to toolbar
+ Toolbar.INSTANCE.addMarkerTime(startMarkerTime);
+
+ if(TLchartView != null)
+ TLchartView.updateView();
+ if(NETchartView != null)
+ NETchartView.updateView();
+ if(THRchartView != null)
+ THRchartView.updateView();
+ if(FLchartView != null)
+ FLchartView.updateView();
+ if(GLchartview != null)
+ GLchartview.updateView();
+ if(MMchartView != null)
+ MMchartView.updateView();
+
+ AnalyzerUtil.getMainTab().getTopComposite().updateView();
+ /// draw marker clearly
+ BaseView baseView = (BaseView) WorkbenchUtil.getViewPart(BaseView.ID);
+ baseView.getTopComposite().updateView();
}
@Override
import java.util.LinkedHashMap;
import java.util.List;
+import org.eclipse.nebula.widgets.grid.Grid;
import org.eclipse.nebula.widgets.grid.GridColumn;
import org.eclipse.nebula.widgets.grid.GridItem;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Composite;
import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
import org.tizen.dynamicanalyzer.model.FilterProperty;
import org.tizen.dynamicanalyzer.model.TableInput;
+import org.tizen.dynamicanalyzer.ui.file.FileChartView;
+import org.tizen.dynamicanalyzer.ui.file.FilePage;
+import org.tizen.dynamicanalyzer.ui.memory.MemoryChartView;
+import org.tizen.dynamicanalyzer.ui.memory.MemoryPage;
import org.tizen.dynamicanalyzer.ui.network.data.NetworkAPIDBManager;
import org.tizen.dynamicanalyzer.ui.network.data.NetworkDataManager;
import org.tizen.dynamicanalyzer.ui.network.data.type.NetworkAPIType;
import org.tizen.dynamicanalyzer.ui.network.data.type.NetworkSelectionType;
+import org.tizen.dynamicanalyzer.ui.opengl.GLPage;
+import org.tizen.dynamicanalyzer.ui.opengl.chart.GLChartView;
+import org.tizen.dynamicanalyzer.ui.page.BaseView;
+import org.tizen.dynamicanalyzer.ui.range.RangeDataManager;
+import org.tizen.dynamicanalyzer.ui.thread.ThreadPage;
+import org.tizen.dynamicanalyzer.ui.thread.chart.ThreadChartView;
+import org.tizen.dynamicanalyzer.ui.timeline.TimelinePage;
+import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartView;
+import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
import org.tizen.dynamicanalyzer.ui.toolbar.Toolbar;
import org.tizen.dynamicanalyzer.ui.widgets.table.DAApiListTableComposite;
import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat;
+import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
import org.tizen.dynamicanalyzer.utils.Formatter;
public class NetworkTable extends DAApiListTableComposite {
public void widgetDefaultSelected(SelectionEvent e) {
}
});
+
+ table.addMouseListener(new MouseListener() {
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void mouseDown(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void mouseDoubleClick(MouseEvent e) {
+ GridItem[] ti = ((Grid) e.widget).getSelection();
+ if (null == ti || ti.length == 0) {
+ return;
+ }
+ List<Object> markerData = ((DATableDataFormat) ti[0].getData()).getData();
+ long markerTime = Long.parseLong((String)markerData.get(1));
+ addMarker(markerTime);
+ }
+ });
+ }
+
+ private void addMarker(long markerTime) {
+ double startMarkerTime = markerTime / (TimelineConstants.MEGA_DOUBLE);
+
+ TimelineChartView TLchartView = (TimelineChartView) AnalyzerUtil.getView(TimelinePage.pageID, TimelineChartView.class.getName());
+ NetworkChartView NETchartView = (NetworkChartView) AnalyzerUtil.getView(NetworkPage.pageID, NetworkChartView.class.getName());
+ ThreadChartView THRchartView = (ThreadChartView) AnalyzerUtil.getView(ThreadPage.pageID, ThreadChartView.class.getName());
+ FileChartView FLchartView = (FileChartView) AnalyzerUtil.getView(FilePage.pageID, FileChartView.class.getName());
+ GLChartView GLchartview = (GLChartView) AnalyzerUtil.getView(GLPage.pageID, GLChartView.class.getName());
+ MemoryChartView MMchartView = (MemoryChartView) AnalyzerUtil.getView(MemoryPage.pageID, MemoryChartView.class.getName());
+
+ //1. add marker to rangedatamanager
+ RangeDataManager.getInstance().addMarkerTime(markerTime);
+
+ //2. add marker to toolbar
+ Toolbar.INSTANCE.addMarkerTime(startMarkerTime);
+
+ if(TLchartView != null)
+ TLchartView.updateView();
+ if(NETchartView != null)
+ NETchartView.updateView();
+ if(THRchartView != null)
+ THRchartView.updateView();
+ if(FLchartView != null)
+ FLchartView.updateView();
+ if(GLchartview != null)
+ GLchartview.updateView();
+ if(MMchartView != null)
+ MMchartView.updateView();
+
+ AnalyzerUtil.getMainTab().getTopComposite().updateView();
+ /// draw marker clearly
+ BaseView baseView = (BaseView) WorkbenchUtil.getViewPart(BaseView.ID);
+ baseView.getTopComposite().updateView();
}
@Override