return this.text.getText();
}
- public void setLayoutData(FormData data) {
+ public void setLayoutData(Object data) {
this.text.setLayoutData(data);
}
<parent>
<artifactId>dynamic-analyzer</artifactId>
<groupId>org.tizen.dynamicanalyzer</groupId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>2.3.18-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<groupId>org.tizen.dynamicanalyzer</groupId>
<parent>
<artifactId>dynamic-analyzer</artifactId>
<groupId>org.tizen.dynamicanalyzer</groupId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>2.3.18-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<groupId>org.tizen.dynamicanalyzer</groupId>
return false;
}
- private boolean isInParent(Point pt) {
+ /**
+ * Check if cursor points inside parent composite.
+ *
+ * @param pt specified point
+ * @return {@code true} if point inside parent composite
+ */
+ protected boolean isInParent(Point pt) {
if (null == parent) {
return false;
}
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="%DynamicAnalyzer" uid="org.tizen.dynamicanalyzer.workbench.product" id="org.tizen.dynamicanalyzer.workbench.product" application="org.tizen.dynamicanalyzer.workbench.application" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="%DynamicAnalyzer" uid="org.tizen.dynamicanalyzer.workbench.product" id="org.tizen.dynamicanalyzer.workbench.product" application="org.tizen.dynamicanalyzer.workbench.application" version="2.3.18.qualifier" useFeatures="true" includeLaunchers="true">
<aboutInfo>
<image path="icons/about_tizen_sdk.png"/>
<parent>
<artifactId>dynamic-analyzer</artifactId>
<groupId>org.tizen.dynamicanalyzer</groupId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>2.3.18-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<groupId>org.tizen.dynamicanalyzer</groupId>
<artifactId>org.tizen.dynamicanalyzer.workbench.product</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>2.3.18-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<properties>
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
+import org.eclipse.swt.widgets.DirectoryDialog;
import org.tizen.dynamicanalyzer.common.path.PathManager;
import org.tizen.dynamicanalyzer.communicator.DACommunicator;
import org.tizen.dynamicanalyzer.nl.ConfigureLabels;
-import org.tizen.dynamicanalyzer.ui.common.explorer.FileExplorerDialog;
import org.tizen.dynamicanalyzer.util.CommonUtil;
import org.tizen.dynamicanalyzer.util.Logger;
import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
/// User Select Directory to export Logs
private Boolean exportPathDialog() {
- FileExplorerDialog dialog = new FileExplorerDialog(WorkbenchUtil.getWorkbenchWindow().getShell());
- dialog.setTitle(ConfigureLabels.EXPORT_DIALOG_SELECT_EXPORT_PATH);
- dialog.getExplorer().setRoot(CommonUtil.getHomeDirectory());
+ DirectoryDialog dialog = new DirectoryDialog(WorkbenchUtil.getWorkbenchWindow().getShell());
+ dialog.setText(ConfigureLabels.EXPORT_DIALOG_SELECT_EXPORT_PATH);
+ dialog.setFilterPath(CommonUtil.getHomeDirectory());
Object result = dialog.open();
if (result == null) {
LogexportPath = result.toString();
- int cutStart = LogexportPath.indexOf("[");
- int cutEnd = LogexportPath.indexOf("]");
- String tmpPath = LogexportPath.substring(cutStart + 1, cutEnd);
-
SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd_HH-mm-ss", Locale.KOREA); //$NON-NLS-1$
Date date = new Date();
String logPostFix = format.format(date);
ExportLogName = "DALogs_" + logPostFix;
- LogZipPath = tmpPath;
+ LogZipPath = LogexportPath;
- setLogExportPath(tmpPath + "/" + ExportLogName);
+ setLogExportPath(LogexportPath + "/" + ExportLogName);
return true;
}
return false;
}
- SqlConnectionManager.establishConnection(sourcePath);
+ SqlConnectionManager.establishConnection(sourcePath + File.separator
+ + AnalyzerConstants.DATABASE_NAME);
return true;
}
Map<FlatPreferences, IProtocolConfig[]> tempMap = new EnumMap<FlatPreferences, IProtocolConfig[]>(
FlatPreferences.class);
tempMap.put(FlatPreferences.RECORDING, new ProtocolConfig30[] { RECORDING });
- tempMap.put(FlatPreferences.FUNCTION_PROFILING, new ProtocolConfig30[] { FUNCTION_PROFILING });
+ tempMap.put(FlatPreferences.FUNCTION_PROFILING, new ProtocolConfig30[] { FUNCTION_PROFILING});
+ tempMap.put(FlatPreferences.FUNCTION_SAMPLING_RATE, new ProtocolConfig30[] { FUNCTION_SAMPLING});
tempMap.put(FlatPreferences.SYSTEM_ALL_PROCESSES, new ProtocolConfig30[] { SYSTEM_PROCESSES_LOAD });
tempMap.put(FlatPreferences.PROCESS_MEMORY, new ProtocolConfig30[] { SYSTEM_PROCESS });
tempMap.put(FlatPreferences.SCREENSHOT_ON_SCENE_TRANSITION, new ProtocolConfig30[] { SCREENSHOT });
import java.util.Set;
import org.tizen.dynamicanalyzer.protocol.IProtocolConfig;
+import org.tizen.dynamicanalyzer.protocol.p30.ProtocolConfig30;
import org.tizen.dynamicanalyzer.setting.Feature;
import org.tizen.dynamicanalyzer.setting.FlatFeature;
import org.tizen.dynamicanalyzer.setting.FlatPreferences;
FlatPreferences.class);
tempMap.put(FlatPreferences.RECORDING, new ProtocolConfig30_UIHV[] { RECORDING });
tempMap.put(FlatPreferences.FUNCTION_PROFILING, new ProtocolConfig30_UIHV[] { FUNCTION_PROFILING });
+ tempMap.put(FlatPreferences.FUNCTION_SAMPLING_RATE, new ProtocolConfig30_UIHV[] { FUNCTION_SAMPLING});
tempMap.put(FlatPreferences.SYSTEM_ALL_PROCESSES, new ProtocolConfig30_UIHV[] { SYSTEM_PROCESSES_LOAD });
tempMap.put(FlatPreferences.PROCESS_MEMORY, new ProtocolConfig30_UIHV[] { SYSTEM_PROCESS });
tempMap.put(FlatPreferences.SCREENSHOT_ON_SCENE_TRANSITION, new ProtocolConfig30_UIHV[] { SCREENSHOT });
tempMap.put(FlatPreferences.RECORDING, new ProtocolConfig40[] { RECORDING });
tempMap.put(FlatPreferences.FUNCTION_PROFILING, new ProtocolConfig40[] { FUNCTION_PROFILING,
WEB_FUNCTION_PROFILING});
+ tempMap.put(FlatPreferences.FUNCTION_SAMPLING_RATE, new ProtocolConfig40[] { FUNCTION_SAMPLING});
tempMap.put(FlatPreferences.APP_STARTUP, new ProtocolConfig40[] { APP_STARTUP,
WEBAPP_STARTUP});
tempMap.put(FlatPreferences.SYSTEM_ALL_PROCESSES, new ProtocolConfig40[] { SYSTEM_PROCESSES_LOAD });
tempMap.put(FlatPreferences.RECORDING, new ProtocolConfig41[] { RECORDING });
tempMap.put(FlatPreferences.FUNCTION_PROFILING, new ProtocolConfig41[] { FUNCTION_PROFILING,
WEB_FUNCTION_PROFILING});
+ tempMap.put(FlatPreferences.FUNCTION_SAMPLING_RATE, new ProtocolConfig41[] { FUNCTION_SAMPLING});
tempMap.put(FlatPreferences.APP_STARTUP, new ProtocolConfig41[] { APP_STARTUP,
WEBAPP_STARTUP});
tempMap.put(FlatPreferences.SYSTEM_ALL_PROCESSES, new ProtocolConfig41[] { SYSTEM_PROCESSES_LOAD });
&& !isOptionsSelectedPrefereces(FlatPreferences.PROCESS_MEMORY)) {
selectedFeatures.add(FlatPreferences.PROCESS_MEMORY);
}
+ if (!isOptionsSelectedPrefereces(FlatPreferences.FUNCTION_SAMPLING_RATE)) {
+ selectedFeatures.add(FlatPreferences.FUNCTION_SAMPLING_RATE);
+ }
return selectedFeatures;
}
import org.tizen.dynamicanalyzer.project.BinaryInfo;
import org.tizen.dynamicanalyzer.protocol.ProtocolConstants;
import org.tizen.dynamicanalyzer.setting.Feature;
+import org.tizen.dynamicanalyzer.setting.FlatPreferences;
import org.tizen.dynamicanalyzer.setting.SettingDataManager;
import org.tizen.dynamicanalyzer.setting.TargetData;
import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
@Override
protected void makeData(LogPackage pack) {
- TargetData target = SettingDataManager.INSTANCE.getConnectedTargetOrSelected();
// TODO: will get sample_time from Project.java
if (!isSetSamplePeriod) {
- SAMPLE_TIME = target.getSelectedFeatureValue(Feature.FUNCTION_SAMPLING_RATE);
+ SAMPLE_TIME = SettingDataManager.INSTANCE.getOptionsPreferencesValue(FlatPreferences.FUNCTION_SAMPLING_RATE);
if (SAMPLE_TIME < 0) {
SAMPLE_TIME = Feature.FUNCTION_SAMPLING_RATE.getData().getDefaultValue();
}
}
- if (target.isSelectedFeature(Feature.FUNCTION_SAMPLING)) {
+ if (SAMPLE_TIME > 0) {
Logs logs = pack.getLogs(ProtocolConstants.MSG_DATA_SAMPLE);
if (null != logs && logs.getRawLogs().size() != 0) {
}
}
- return Formatter.toDoubleFormat2(Double.toString(rate));
+ return Formatter.toDoubleFormat2(rate);
}
public String getCpuTime(ProfilingData data, boolean exclusive) {
import java.util.List;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
import org.tizen.dynamicanalyzer.common.DASelectionData;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
public class ThreadDetailInfoView extends DAViewComposite {
private Composite contents = null;
- private Text detailText = null;
+ private StyledText detailText = null;
private final static String leftFormAttachment = CommonConstants.SPACE + CommonConstants.SPACE;
private final static String heightFormAttachment = CommonConstants.NEW_LINE
setTitle(ThreadPageLabels.THREAD_DETAILS_TITLE);
- Composite detailCom = getContentArea();
- detailCom.setBackground(ColorResources.VIEW_BG_COLOR);
- detailCom.setLayout(new FormLayout());
+ contents = getContentArea();
+ contents.setBackground(ColorResources.VIEW_BG_COLOR);
+ contents.setLayout(new FormLayout());
FormData labelData = new FormData();
labelData.top = new FormAttachment(0, 0);
labelData.left = new FormAttachment(0, 0);
labelData.right = new FormAttachment(100, 0);
labelData.bottom = new FormAttachment(100, 0);
- detailCom.setLayoutData(labelData);
-
- contents = detailCom;
- contents.setBackground(ColorResources.VIEW_BG_COLOR);
+ contents.setLayoutData(labelData);
contents.setLayout(new FormLayout());
- detailText = new Text(contents, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
+ detailText = new StyledText(contents, SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
detailText.setBackground(ColorResources.VIEW_BG_COLOR);
detailText.setForeground(ColorResources.TABLE_CONTENTS_FONT_COLOR);
detailText.setFont(FontResources.DETAIL_INFO_FONT);
+ detailText.setAlwaysShowScrollBars(false);
+ detailText.setEditable(false);
FormData buttonData = new FormData();
buttonData.top = new FormAttachment(contents, 0);
}\r
\r
public void setText(String text) {\r
- if (!setSelect(text)) {\r
- attr.setText(text);\r
- selection = -1;\r
- redraw();\r
- }\r
+ if (!setSelect(text))\r
+ setTextForce(text);\r
}\r
\r
public void setTextForce(String text) {\r
- attr.setText(text);\r
- selection = -1;\r
- redraw();\r
+ attr.setText(text);\r
+ selection = -1;\r
+ Display.getDefault().asyncExec(new Runnable() {\r
+ public void run() {\r
+ redraw();\r
+ }\r
+ });\r
}\r
\r
\r
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.events.VerifyListener;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.tizen.dynamicanalyzer.widgets.helper.ImageResources;
public class RemoteDeviceDialog extends DAMessageBox {
- private final int WIDTH = 430;
- private final int HEIGHT = 190;
-
- private final int EDITBOX_TOP_MARGIN = 18;
- private final int EDITBOX_INTERVAL = 10;
- private final int WIDGETS_HEIGHT = 24;
- private final int EDITBOX_WIDTH = 284;
-
- private final int LABEL_TOP_MARGIN = 24;
- private final int LABEL_LEFT_MARGIN = 20;
- private final int LABEL_INTERVAL = 10;
- private final int LABEL_WIDTH = 79;
+ private static final int WIDTH = 430;
+ private static final int HEIGHT = 190;
+ private static final int WIDTH_MARGIN = 20;
private Composite mainContentsComp = null;
private Composite buttonContentsComp = null;
marginMiddle.setLayoutData(marginCompData);
marginMiddle.setBackground(ColorResources.DIALOG_MIDDLE_LINE_COLOR);
- buttonContentsComp.setLayout(new FormLayout());
+ GridLayout grid = new GridLayout(4, false);
+ grid.horizontalSpacing = 5;
+ grid.marginWidth = WIDTH_MARGIN;
+ buttonContentsComp.setLayout(grid);
FormData compData = new FormData();
compData.top = new FormAttachment(marginMiddle, 0);
compData.left = new FormAttachment(0, 0);
drawMainContents();
- drawButtons();
-
drawProgress();
+
+ drawButtons();
}
private void drawMainContents() {
+ Composite contentGridComp = new Composite(mainContentsComp, SWT.NONE);
+ GridLayout grid = new GridLayout(2, false);
+ grid.horizontalSpacing = 15;
+ grid.marginWidth = WIDTH_MARGIN;
+ contentGridComp.setLayout(grid);
+ Rectangle rect = shell.getClientArea();
+ FormData formData = new FormData(rect.width, rect.height - 61);
+ contentGridComp.setLayoutData(formData);
+ contentGridComp.setBackground(ColorResources.DIALOG_CONTENT_BACKGROUND);
+
// IP label and textbox
- Label ipText = new Label(mainContentsComp, SWT.LEFT);
- FormData data = new FormData();
- data.top = new FormAttachment(0, LABEL_TOP_MARGIN);
- data.left = new FormAttachment(0, LABEL_LEFT_MARGIN);
- data.height = WIDGETS_HEIGHT;
- data.width = LABEL_WIDTH;
+ Label ipText = new Label(contentGridComp, SWT.LEFT);
+ GridData data = new GridData(SWT.LEFT, SWT.CENTER, false, true);
ipText.setLayoutData(data);
ipText.setForeground(ColorResources.BLACK);
ipText.setBackground(ColorResources.DIALOG_CONTENT_BACKGROUND);
ipText.setFont(FontResources.DIALOG_CONTENTS_NORMAL_FONT);
- ipText.setText(AnalyzerLabels.IP);
+ ipText.setText(AnalyzerLabels.IP + " :");
+
+ ipTextbox = new DATextBox(contentGridComp, SWT.SINGLE);
+ data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
+ data.grabExcessHorizontalSpace = true;
+ ipTextbox.setLayoutData(data);
+ ipTextbox.setBackground(ColorResources.WHITE);
+ ipTextbox.getControl().addKeyListener(textboxListener);
+ ipTextbox.getControl().addVerifyListener(new TextBoxVerifyListener("0123456789."));
// Port label and textbox
- Label portText = new Label(mainContentsComp, SWT.LEFT);
- data = new FormData();
- data.top = new FormAttachment(ipText, LABEL_INTERVAL);
- data.left = new FormAttachment(0, LABEL_LEFT_MARGIN);
- data.height = WIDGETS_HEIGHT;
- data.width = LABEL_WIDTH;
+ Label portText = new Label(contentGridComp, SWT.LEFT);
+ data = new GridData(SWT.LEFT, SWT.CENTER, false, true);
portText.setLayoutData(data);
portText.setForeground(ColorResources.BLACK);
portText.setBackground(ColorResources.DIALOG_CONTENT_BACKGROUND);
portText.setFont(FontResources.DIALOG_CONTENTS_NORMAL_FONT);
- portText.setText(AnalyzerLabels.PORT);
-
- Label ipcolon = new Label(mainContentsComp, SWT.LEFT);
- data = new FormData();
- data.top = new FormAttachment(0, LABEL_TOP_MARGIN);
- data.left = new FormAttachment(portText, 5);
- data.height = WIDGETS_HEIGHT;
- data.width = 3;
- ipcolon.setLayoutData(data);
- ipcolon.setForeground(ColorResources.BLACK);
- ipcolon.setBackground(ColorResources.DIALOG_CONTENT_BACKGROUND);
- ipcolon.setFont(FontResources.DIALOG_CONTENTS_NORMAL_FONT);
- ipcolon.setText(":");
-
- Label portcolon = new Label(mainContentsComp, SWT.LEFT);
- data = new FormData();
- data.top = new FormAttachment(ipText, LABEL_INTERVAL);
- data.left = new FormAttachment(portText, 5);
- data.height = WIDGETS_HEIGHT;
- data.width = 3;
- portcolon.setLayoutData(data);
- portcolon.setForeground(ColorResources.BLACK);
- portcolon.setBackground(ColorResources.DIALOG_CONTENT_BACKGROUND);
- portcolon.setFont(FontResources.DIALOG_CONTENTS_NORMAL_FONT);
- portcolon.setText(":");
-
- ipTextbox = new DATextBox(mainContentsComp, SWT.SINGLE);
- data = new FormData();
- data.top = new FormAttachment(0, EDITBOX_TOP_MARGIN);
- data.left = new FormAttachment(ipText, 15);
- data.height = WIDGETS_HEIGHT;
- data.width = EDITBOX_WIDTH;
- ipTextbox.setLayoutData(data);
- ipTextbox.setBackground(ColorResources.WHITE);
- ipTextbox.getControl().addKeyListener(textboxListener);
- ipTextbox.getControl().addVerifyListener(new TextBoxVerifyListener("0123456789."));
+ portText.setText(AnalyzerLabels.PORT + " :");
- portTextbox = new DATextBox(mainContentsComp, SWT.SINGLE);
- data = new FormData();
- data.top = new FormAttachment(0, EDITBOX_TOP_MARGIN + WIDGETS_HEIGHT + EDITBOX_INTERVAL);
- data.left = new FormAttachment(portText, 15);
- data.height = WIDGETS_HEIGHT;
- data.width = EDITBOX_WIDTH;
+ portTextbox = new DATextBox(contentGridComp, SWT.SINGLE);
+ data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
+ data.grabExcessHorizontalSpace = true;
portTextbox.setLayoutData(data);
portTextbox.setBackground(ColorResources.WHITE);
portTextbox.getControl().addKeyListener(textboxListener);
}
private void drawButtons() {
+ cancelButton = new Button(buttonContentsComp, SWT.NONE);
+ GridData buttonData = new GridData(100, 30);
+ buttonData.verticalAlignment = SWT.CENTER;
+ buttonData.horizontalAlignment = SWT.CENTER;
+ cancelButton.setLayoutData(buttonData);
+ cancelButton.setText(WidgetLabels.CANCEL);
+ cancelButton.addSelectionListener(cancelButtonListener);
+
connectButton = new Button(buttonContentsComp, SWT.NONE);
- FormData buttonData = new FormData();
- buttonData.top = new FormAttachment(0, 15);
- buttonData.right = new FormAttachment(100, -15);
- buttonData.width = 100;
- buttonData.height = 30;
+ buttonData = new GridData(100, 30);
+ buttonData.verticalAlignment = SWT.CENTER;
+ buttonData.horizontalAlignment = SWT.CENTER;
connectButton.setLayoutData(buttonData);
connectButton.setText(WidgetLabels.OK);
connectButton.addSelectionListener(connectButtonListener);
connectButton.setEnabled(false);
-
- cancelButton = new Button(buttonContentsComp, SWT.NONE);
- buttonData = new FormData();
- buttonData.top = new FormAttachment(0, 15);
- buttonData.right = new FormAttachment(connectButton, -8);
- buttonData.width = 100;
- buttonData.height = 30;
- cancelButton.setLayoutData(buttonData);
- cancelButton.setText(WidgetLabels.CANCEL);
- cancelButton.addSelectionListener(cancelButtonListener);
}
private void drawProgress() {
progressImage.add(ImageResources.STOP_PROGRESS_LOADING_08);
progressIcon = new DAAnimationIcon(buttonContentsComp, SWT.NONE, progressImage);
- FormData data = new FormData();
- data.top = new FormAttachment(0, 15);
- data.left = new FormAttachment(0, 15);
- data.height = 24;
- data.width = 24;
+ GridData data = new GridData(24, 24);
+ data.verticalAlignment = SWT.CENTER;
+ data.horizontalAlignment = SWT.CENTER;
+ data.grabExcessVerticalSpace = true;
progressIcon.setLayoutData(data);
progressIcon.setVisible(false);
progressLabel = new Label(buttonContentsComp, SWT.TRANSPARENT);
- data = new FormData();
- data.top = new FormAttachment(0, 20);
- data.left = new FormAttachment(progressIcon, 12);
- data.height = 20;
- data.width = 150;
+ data = new GridData(SWT.LEFT, SWT.CENTER, true, false);
progressLabel.setLayoutData(data);
progressLabel.setBackground(ColorResources.WHITE);
progressLabel.setAlignment(SWT.LEFT);
}
public void setContextMenu(final int context) {
- popupMenu = new DAPopupMenu(table);
+ popupMenu = new DATablePopupMenu(table);
popupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
if ((context & AnalyzerConstants.CONTEXT_TABLE_RANGE) != 0) {
* "show all" item that reverts all filter actions.
*/
protected void initFilterPopupMenu() {
- popupMenu = new DAPopupMenu(table);
+ popupMenu = new DATablePopupMenu(table);
popupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
for (int i = 0; i < table.getColumns().length; i++) {
--- /dev/null
+package org.tizen.dynamicanalyzer.ui.widgets.table;
+
+import org.eclipse.nebula.widgets.grid.Grid;
+import org.eclipse.swt.graphics.Point;
+import org.tizen.dynamicanalyzer.widgets.popupMenu.DAPopupMenu;
+
+/**
+ * {@link DAPopupMenu} extension for Grid composites.
+ */
+public class DATablePopupMenu extends DAPopupMenu {
+
+ /**
+ * Parent composite.
+ */
+ Grid table;
+
+ /**
+ * Public constructor.
+ *
+ * @param table parent Grid
+ */
+ public DATablePopupMenu(Grid table) {
+ super(table);
+ this.table = table;
+ }
+
+ /**
+ * Check if cursor points inside parent composite, at not null item.
+ *
+ * @param pt specified point
+ * @return {@code true} if point inside parent composite
+ */
+ @Override
+ protected boolean isInParent(Point pt) {
+ if (null == table) {
+ return false;
+ }
+ if (table.getItem(table.toControl(pt)) == null) {
+ return false;
+ }
+ return true;
+ }
+}
package org.tizen.dynamicanalyzer.utils;
import java.text.DecimalFormat;
+import java.util.Locale;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
import org.tizen.dynamicanalyzer.util.Logger;
} else {
long data = 0;
data = Long.parseLong(decimal);
- return String.format("0x%08X", data); //$NON-NLS-1$
+ return String.format(Locale.ROOT, "0x%08X", data); //$NON-NLS-1$
}
} catch (NumberFormatException e) {
Logger.exception(e);
try {
double data = Double.parseDouble(value);
- return String.format("%.1f", data); //$NON-NLS-1$
+ return String.format(Locale.ROOT, "%.1f", data); //$NON-NLS-1$
} catch (NumberFormatException e) {
Logger.exception(e);
return value;
try {
double data = Double.parseDouble(value);
- return String.format("%.2f", data); //$NON-NLS-1$
+ return String.format(Locale.ROOT, "%.2f", data); //$NON-NLS-1$
} catch (NumberFormatException e) {
Logger.exception(e);
return value;
}
}
+ public static String toDoubleFormat2(double value) {
+ return String.format(Locale.ROOT, "%.2f", value); //$NON-NLS-1$
+ }
+
public static String toTimeFormat(Object time) {
long longTime = -1;
if (time instanceof Long || time instanceof Integer) {
}
public static String toPercentageFormat(Double input) {
- String ret = String.format("%.2f", input); //$NON-NLS-1$
+ String ret = String.format(Locale.ROOT, "%.2f", input); //$NON-NLS-1$
ret += " %"; //$NON-NLS-1$
return ret;
}
public static String toDoubleFormat(Double input) {
- return String.format("%.2f", input); //$NON-NLS-1$
+ return String.format(Locale.ROOT, "%.2f", input); //$NON-NLS-1$
}
// 1000 to 1,000
+* 2.3.18
+- Fix Function Profiling info to be properly collected and shown
+- Fix missed call trace data after saving trace
+- Fix refinements in Remote Device dialog
+- Fix filtering popup menu for Persistent Allocations table
+- Fix bug with missing Heap Allocation charts (regression in DA 2.3.17)
+- Fix SWT exception occured in application combobox
+- Fix JIRA defects:
+ SPTSDKUX-2223: Thread Detail is not Showing in DA
+ SPTSDKUX-2248: The Path to Export Log is not Visible in Export Log Window
+== Maria Guseva <m.guseva@samsung.com> October 11, 2016
* 2.3.17
- Memory Map table now shows maps for different processes separately
- Implement filter popup menu for Persistent Allocations table
Source:dynamic-analyzer
-Version:2.3.17
+Version:2.3.18
Maintainer:Gihun Chang <gihun.chang@samsung.com>, WooJin Jung <woojin2.jung@samsung.com>, Jaewon Lim <jaewon81.lim@samsung.com>, Seokgil Kang <seokgil.kang@samsung.com>
Package:dynamic-analyzer-product
<modelVersion>4.0.0</modelVersion>
<groupId>org.tizen.dynamicanalyzer</groupId>
<artifactId>dynamic-analyzer</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>2.3.18-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>