sysperfana/analyzetoolext/com.nokia.s60tools.analyzetool/src/com/nokia/s60tools/analyzetool/ui/OutputModeDialog.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysperfana/analyzetoolext/com.nokia.s60tools.analyzetool/src/com/nokia/s60tools/analyzetool/ui/OutputModeDialog.java Tue Aug 24 12:16:27 2010 +0300
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Definitions for the class OutputModeDialog
+ *
+ */
+
+package com.nokia.s60tools.analyzetool.ui;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.swt.SWT;
+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.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.PlatformUI;
+
+import com.nokia.s60tools.analyzetool.Activator;
+import com.nokia.s60tools.analyzetool.AnalyzeToolHelpContextIDs;
+import com.nokia.s60tools.analyzetool.global.Constants;
+
+public class OutputModeDialog extends Dialog implements Listener {
+
+ private Button traceOutputButton;
+ private Button fileOutputButton;
+
+ private Label logPath;
+ private Text logPathText;
+
+ private Label logFileName;
+ private Text logFileNameText;
+
+ private String outputMode;
+ private String path;
+ private String fileName;
+
+ public OutputModeDialog(Shell shell) {
+ super(shell);
+ }
+
+ @Override
+ protected void configureShell(Shell shell) {
+ shell.setText(Constants.PREFS_LOGGING_MODE_TITLE);
+ super.configureShell(shell);
+ }
+
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ final Composite container = (Composite) super.createDialogArea(parent);
+ container.setLayout(new GridLayout(1, false));
+
+ traceOutputButton = new Button(container, SWT.RADIO);
+ traceOutputButton.setToolTipText(Constants.PREFS_EXT_FAST_TOOLTIP);
+ traceOutputButton.setText(Constants.PREFS_EXT_FAST);
+ traceOutputButton.addListener(SWT.Selection, this);
+
+ fileOutputButton = new Button(container, SWT.RADIO);
+ fileOutputButton.setToolTipText(Constants.PREFS_S60_TOOLTIP);
+ fileOutputButton.setText(Constants.PREFS_S60);
+ fileOutputButton.addListener(SWT.Selection, this);
+
+ Composite compS60 = new Composite(container, SWT.NULL);
+
+ final GridLayout layoutS60 = new GridLayout();
+ layoutS60.marginLeft = 15;
+ layoutS60.numColumns = 2;
+ compS60.setLayout(layoutS60);
+
+ logPath = new Label(compS60, SWT.NONE);
+ logPath.setToolTipText("Log file path in the device.");
+ logPath.setText("Log file path:");
+
+ logPathText = new Text(compS60, SWT.BORDER);
+ logPathText.setLayoutData(new GridData(280, SWT.DEFAULT));
+
+ logFileName = new Label(compS60, SWT.NONE);
+ logFileName.setToolTipText("Log file name.");
+ logFileName.setText("Filename:");
+
+ logFileNameText = new Text(compS60, SWT.BORDER);
+ logFileNameText.setLayoutData(new GridData(280, SWT.DEFAULT));
+
+ IPreferenceStore store = Activator.getPreferences();
+ String path = store.getString(Constants.DEVICE_LOG_FILE_PATH);
+
+ if (!path.equals("")) {
+ logPathText.setText(path);
+ } else {
+ logPathText.setText("C:\\logs\\atool\\");
+ }
+
+ String fileName = store.getString(Constants.DEVICE_LOG_FILE_NAME);
+
+ if (!fileName.equals("")) {
+ logFileNameText.setText(fileName);
+ } else {
+ logFileNameText.setText("%processname%.dat");
+ }
+
+ traceOutputButton.setSelection(true);
+ logPath.setEnabled(false);
+ logPathText.setEnabled(false);
+ logFileName.setEnabled(false);
+ logFileNameText.setEnabled(false);
+
+ return container;
+ }
+
+ @Override
+ protected void okPressed() {
+ if (traceOutputButton.getSelection()) {
+ outputMode = Constants.LOGGING_EXT_FAST;
+ }
+
+ if (fileOutputButton.getSelection()) {
+ outputMode = Constants.LOGGING_S60;
+ path = logPathText.getText();
+ fileName = logFileNameText.getText();
+ }
+ super.okPressed();
+ }
+
+ public String getOutputMode() {
+ return outputMode;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public String getLogPath() {
+ return path;
+ }
+
+ public void handleEvent(Event event) {
+ if (event.widget == traceOutputButton) {
+ logPath.setEnabled(false);
+ logPathText.setEnabled(false);
+ logFileName.setEnabled(false);
+ logFileNameText.setEnabled(false);
+ } else if (event.widget == fileOutputButton) {
+ logPath.setEnabled(true);
+ logPathText.setEnabled(true);
+ logFileName.setEnabled(true);
+ logFileNameText.setEnabled(true);
+ }
+ }
+}