[Title] Add device combo and application combo.
authoryser.lee <yser.lee@samsung.com>
Mon, 7 Nov 2011 21:24:30 +0000 (06:24 +0900)
committeryser.lee <yser.lee@samsung.com>
Mon, 7 Nov 2011 21:24:30 +0000 (06:24 +0900)
[Type] Feature
[Module]
[Priority]
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

13 files changed:
com.samsung.dynamicanalyzer.workbench/icons/pickaxe.jpg [moved from com.samsung.dynamicanalyzer.workbench/icons/more.jpg with 100% similarity]
com.samsung.dynamicanalyzer.workbench/src/com/samsung/dynamicanalyzer/workbench/ApplicationWorkbenchWindowAdvisor.java
com.samsung.dynamicanalyzer.workbench/src/com/samsung/dynamicanalyzer/workbench/BatteryPerspective.java
com.samsung.dynamicanalyzer.workbench/src/com/samsung/dynamicanalyzer/workbench/CoolbarArea.java [new file with mode: 0644]
com.samsung.dynamicanalyzer.workbench/src/com/samsung/dynamicanalyzer/workbench/NtimePerspective.java
com.samsung.dynamicanalyzer/plugin.xml
com.samsung.dynamicanalyzer/src/com/samsung/dynamicanalyzer/AnalyzerConstants.java
com.samsung.dynamicanalyzer/src/com/samsung/dynamicanalyzer/handlers/OpenTraceHandler.java
com.samsung.dynamicanalyzer/src/com/samsung/dynamicanalyzer/handlers/SaveTraceHandler.java
com.samsung.dynamicanalyzer/src/com/samsung/dynamicanalyzer/handlers/StartStopTraceHandler.java
com.samsung.dynamicanalyzer/src/com/samsung/dynamicanalyzer/handlers/TestInputHandler.java
com.samsung.dynamicanalyzer/src/com/samsung/dynamicanalyzer/nl/AnalyzerLabels.java
com.samsung.dynamicanalyzer/src/com/samsung/dynamicanalyzer/nl/AnalyzerLabels.properties

index daf2d21..5086ade 100644 (file)
@@ -1,63 +1,17 @@
 package com.samsung.dynamicanalyzer.workbench;
 
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.graphics.Point;
-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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.application.ActionBarAdvisor;
 import org.eclipse.ui.application.IActionBarConfigurer;
 import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
 import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import com.samsung.dynamicanalyzer.services.RecordStateSourceProvider;
-import com.samsung.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
 
        public static final int width = 1024;
        public static final int height = 768;
 
-       private Button startButton;
-       private Button moreButton;
-
-       private Image bgImage = AbstractUIPlugin.imageDescriptorFromPlugin(
-                       "com.samsung.dynamicanalyzer.workbench",
-                       "icons/ToolbarBackground.jpg").createImage();
-
-       private Image startImage = AbstractUIPlugin.imageDescriptorFromPlugin(
-                       "com.samsung.dynamicanalyzer.workbench", "icons/start.jpg")
-                       .createImage();
-
-       private Image stopImage = AbstractUIPlugin.imageDescriptorFromPlugin(
-                       "com.samsung.dynamicanalyzer.workbench", "icons/stop.jpg")
-                       .createImage();
-
-       private Image saveImage = AbstractUIPlugin.imageDescriptorFromPlugin(
-                       "com.samsung.dynamicanalyzer.workbench", "icons/save_record.jpg")
-                       .createImage();
-
-       private Image loadImage = AbstractUIPlugin.imageDescriptorFromPlugin(
-                       "com.samsung.dynamicanalyzer.workbench", "icons/load_record.jpg")
-                       .createImage();
-
-       private Image moreImage = AbstractUIPlugin.imageDescriptorFromPlugin(
-                       "com.samsung.dynamicanalyzer.workbench", "icons/more.jpg")
-                       .createImage();
-
        public ApplicationWorkbenchWindowAdvisor(
                        IWorkbenchWindowConfigurer configurer) {
                super(configurer);
@@ -74,212 +28,13 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
                IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
                configurer.setInitialSize(new Point(width, height));
                configurer.setShowCoolBar(true);
+               configurer.setShowMenuBar(true);
                configurer.setShowStatusLine(false);
        }
 
        @Override
        public void createWindowContents(Shell shell) {
-
-               final IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-
-               final FormLayout layout = new FormLayout();
-               layout.marginWidth = 0;
-               layout.marginHeight = 0;
-               shell.setLayout(layout);
-
-               Composite toolbar = new Composite(getWindowConfigurer().getWindow()
-                               .getShell(), SWT.NONE);
-
-               final GridLayout gLayout = new GridLayout(3, false);
-               gLayout.horizontalSpacing = 0;
-               gLayout.marginHeight = 0;
-               gLayout.marginWidth = 0;
-               gLayout.verticalSpacing = 0;
-               toolbar.setLayout(gLayout);
-
-               Composite toolbarLine = new Composite(getWindowConfigurer().getWindow()
-                               .getShell(), SWT.NONE);
-               toolbarLine.setBackgroundImage(bgImage);
-               toolbarLine.setLayout(gLayout);
-
-               FormLayout formLayout = new FormLayout();
-               formLayout.marginHeight = 0;
-               formLayout.marginWidth = 0;
-               formLayout.spacing = 0;
-
-               Composite control = new Composite(toolbar, SWT.NONE);
-               control.setBackground(new Color(null, 51, 51, 51));
-               control.setForeground(new Color(null, 255, 255, 255));
-               control.setLayout(formLayout);
-
-               createControl(control);
-
-               Composite perspective = new Composite(toolbar, SWT.NONE);
-               GridData gd = new GridData(SWT.END, SWT.CENTER, true, false);
-               perspective.setLayout(new GridLayout(3, false));
-               perspective.setLayoutData(gd);
-
-               createPerspective(perspective);
-
-               setLayout(configurer, shell, toolbar, toolbarLine);
+               new CoolbarArea(getWindowConfigurer(), shell);
        }
 
-       private void createControl(Composite composite) {
-               Combo combo = new Combo(composite, SWT.READ_ONLY);
-               combo.setForeground(new Color(null, 255, 255, 255));
-               combo.setBackground(new Color(null, 51, 51, 51));
-               combo.add("Application 1");
-               combo.add("Application 2");
-               combo.add("Application 3");
-               combo.add("Application 4");
-               FormData data = new FormData();
-               data.left = new FormAttachment(0, 5);
-               data.width = 200;
-               data.height = 32;
-               combo.setLayoutData(data);
-               final FormLayout layout = new FormLayout();
-               layout.marginWidth = 0;
-               layout.marginHeight = 0;
-               combo.setLayout(layout);
-
-               startButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
-               startButton.setImage(startImage);
-               startButton.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-
-                               AnalyzerUtil
-                                               .executeCommand("com.samsung.dynamicanalyzer.commands.startStopTrace");
-                               String state = AnalyzerUtil.getRecordState();
-                               if (state.equals(RecordStateSourceProvider.RECORD_READY)) {
-                                       AnalyzerUtil
-                                                       .setRecordState(RecordStateSourceProvider.RECORD_RECORDING);
-                                       startButton.setImage(stopImage);
-                               } else {
-                                       AnalyzerUtil
-                                                       .setRecordState(RecordStateSourceProvider.RECORD_READY);
-                                       startButton.setImage(startImage);
-                               }
-                       }
-               });
-
-               startButton.setBackground(new Color(null, 51, 51, 51));
-               data = new FormData();
-               data.left = new FormAttachment(combo, 70, SWT.RIGHT);
-               data.width = 32;
-               data.height = 32;
-               startButton.setLayoutData(data);
-
-               Composite timeArea = new Composite(composite, SWT.NONE);
-               timeArea.setBackground(new Color(null, 90, 90, 90));
-               data = new FormData();
-               data.left = new FormAttachment(startButton, 0, SWT.RIGHT);
-               data.width = 200;
-               data.height = 32;
-               timeArea.setLayoutData(data);
-
-               Button saveRecordButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
-               saveRecordButton.setImage(saveImage);
-               saveRecordButton.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-
-                               AnalyzerUtil
-                                               .executeCommand("com.samsung.dynamicanalyzer.commands.saveTrace");
-
-                       }
-               });
-               saveRecordButton.setBackground(new Color(null, 51, 51, 51));
-               data = new FormData();
-               data.left = new FormAttachment(timeArea, 0, SWT.RIGHT);
-               data.width = 40;
-               data.height = 32;
-               saveRecordButton.setLayoutData(data);
-
-               Button loadRecordButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
-               loadRecordButton.setImage(loadImage);
-               loadRecordButton.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-
-                               AnalyzerUtil
-                                               .executeCommand("com.samsung.dynamicanalyzer.commands.openTrace");
-
-                       }
-               });
-               loadRecordButton.setBackground(new Color(null, 51, 51, 51));
-               data = new FormData();
-               data.left = new FormAttachment(saveRecordButton, 0, SWT.RIGHT);
-               data.width = 40;
-               data.height = 32;
-               loadRecordButton.setLayoutData(data);
-
-               moreButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
-               moreButton.setImage(moreImage);
-               moreButton.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-                               AnalyzerUtil
-                                               .executeCommand("com.samsung.dynamicanalyzer.commands.testInput");
-
-                       }
-               });
-               moreButton.setBackground(new Color(null, 51, 51, 51));
-               data = new FormData();
-               data.left = new FormAttachment(loadRecordButton, 0, SWT.RIGHT);
-               data.width = 28;
-               data.height = 32;
-               moreButton.setLayoutData(data);
-       }
-
-       // private String getState() {
-       // return AnalyzerUtil
-       // .getRecordState(RecordStateSourceProvider.RECORD_STATE);
-       // }
-
-       private void createPerspective(Composite composite) {
-
-               Label realtimeLabel = new Label(composite, SWT.NONE);
-               realtimeLabel.setForeground(new Color(null, 255, 255, 255));
-               realtimeLabel.setText("realtime");
-
-               Label ntimeLabel = new Label(composite, SWT.NONE);
-               ntimeLabel.setForeground(new Color(null, 255, 255, 255));
-               ntimeLabel.setText("N-time");
-
-               Label batteryLabel = new Label(composite, SWT.NONE);
-               batteryLabel.setForeground(new Color(null, 255, 255, 255));
-               batteryLabel.setText("battery");
-       }
-
-       private void setLayout(IWorkbenchWindowConfigurer configurer, Shell shell,
-                       Composite toolbar, Composite toolbarLine) {
-               Control page = configurer.createPageComposite(shell);
-
-               FormData data = new FormData();
-               data.top = new FormAttachment(0, 5);
-               data.left = new FormAttachment(0, 5);
-               data.right = new FormAttachment(100, -5);
-               toolbar.setLayoutData(data);
-
-               data = new FormData();
-               data.top = new FormAttachment(toolbar, 0, SWT.BOTTOM);
-               data.left = new FormAttachment(0, 0);
-               data.right = new FormAttachment(100, 0);
-               data.bottom = new FormAttachment(toolbar, 4, SWT.BOTTOM);
-               toolbarLine.setLayoutData(data);
-
-               data = new FormData();
-               data.top = new FormAttachment(toolbarLine, 2, SWT.BOTTOM);
-               data.left = new FormAttachment(0, 5);
-               data.right = new FormAttachment(100, -5);
-               data.bottom = new FormAttachment(100, -5);
-               page.setLayoutData(data);
-
-               getWindowConfigurer().getWindow().getShell().layout(true);
-               if (page != null) {
-                       ((Composite) page).layout(true);
-               }
-
-       }
 }
index 64638b9..0e07aef 100644 (file)
@@ -5,6 +5,8 @@ import org.eclipse.ui.IPerspectiveFactory;
 \r
 public class BatteryPerspective implements IPerspectiveFactory {\r
 \r
+       public static final String ID = "com.samsung.dynamicanalyzer.batteryPerspective"; //$NON-NLS-1$\r
+\r
        @Override\r
        public void createInitialLayout(IPageLayout layout) {\r
                layout.setEditorAreaVisible(false);\r
diff --git a/com.samsung.dynamicanalyzer.workbench/src/com/samsung/dynamicanalyzer/workbench/CoolbarArea.java b/com.samsung.dynamicanalyzer.workbench/src/com/samsung/dynamicanalyzer/workbench/CoolbarArea.java
new file mode 100644 (file)
index 0000000..d2743db
--- /dev/null
@@ -0,0 +1,300 @@
+package com.samsung.dynamicanalyzer.workbench;
+
+import java.util.List;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+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.Combo;
+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.ui.application.IWorkbenchWindowConfigurer;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import com.samsung.dynamicanalyzer.AnalyzerConstants;
+import com.samsung.dynamicanalyzer.SDBManager;
+import com.samsung.dynamicanalyzer.handlers.OpenTraceHandler;
+import com.samsung.dynamicanalyzer.handlers.SaveTraceHandler;
+import com.samsung.dynamicanalyzer.handlers.StartStopTraceHandler;
+import com.samsung.dynamicanalyzer.handlers.TestInputHandler;
+import com.samsung.dynamicanalyzer.nl.AnalyzerLabels;
+import com.samsung.dynamicanalyzer.services.RecordStateSourceProvider;
+import com.samsung.dynamicanalyzer.utils.AnalyzerUtil;
+
+public class CoolbarArea {
+
+       private Combo deviceCombo;
+       private Combo appCombo;
+       private Button startButton;
+       private Button pickaxeButton;
+
+       private Image bgImage = createImage("ToolbarBackground"); //$NON-NLS-1$
+       private Image startImage = createImage("start"); //$NON-NLS-1$
+       private Image stopImage = createImage("stop"); //$NON-NLS-1$
+       private Image saveImage = createImage("save_record"); //$NON-NLS-1$
+       private Image openImage = createImage("load_record"); //$NON-NLS-1$
+       private Image pickaxeImage = createImage("pickaxe"); //$NON-NLS-1$
+
+       private Color blackColor = new Color(null, 51, 51, 51);
+       private Color whiteColor = new Color(null, 255, 255, 255);
+
+       private static final String ID = "com.samsung.dynamicanalyzer.workbench"; //$NON-NLS-1$
+
+       public CoolbarArea(IWorkbenchWindowConfigurer configurer, Shell shell) {
+               final FormLayout layout = new FormLayout();
+               layout.marginWidth = 0;
+               layout.marginHeight = 0;
+               shell.setLayout(layout);
+
+               Composite mainComposite = new Composite(shell, SWT.NONE);
+
+               final GridLayout gridLayout = new GridLayout(3, false);
+               gridLayout.horizontalSpacing = 0;
+               gridLayout.marginHeight = 0;
+               gridLayout.marginWidth = 0;
+               gridLayout.verticalSpacing = 0;
+               mainComposite.setLayout(gridLayout);
+
+               Composite lineComposite = new Composite(shell, SWT.NONE);
+               lineComposite.setBackgroundImage(bgImage);
+               lineComposite.setLayout(gridLayout);
+
+               FormLayout formLayout = new FormLayout();
+               formLayout.marginHeight = 0;
+               formLayout.marginWidth = 0;
+               formLayout.spacing = 0;
+
+               Composite toolbarComposite = new Composite(mainComposite, SWT.NONE);
+               toolbarComposite.setBackground(blackColor);
+               toolbarComposite.setForeground(whiteColor);
+               toolbarComposite.setLayout(formLayout);
+
+               createToolbar(toolbarComposite);
+
+               Composite perspectiveBarComposite = new Composite(mainComposite,
+                               SWT.NONE);
+               GridData gd = new GridData(SWT.END, SWT.CENTER, true, false);
+               perspectiveBarComposite.setLayout(new GridLayout(3, false));
+               perspectiveBarComposite.setLayoutData(gd);
+
+               createPerspectiveBar(perspectiveBarComposite);
+
+               setLayout(configurer, shell, mainComposite, lineComposite);
+       }
+
+       private void createToolbar(Composite composite) {
+               deviceCombo = new Combo(composite, SWT.READ_ONLY);
+               deviceCombo.setForeground(whiteColor);
+               deviceCombo.setBackground(blackColor);
+               deviceCombo.add(AnalyzerConstants.EMPTY);
+               FormData data = new FormData();
+               data.left = new FormAttachment(0, 5);
+               data.width = 200;
+               data.height = 32;
+               deviceCombo.setLayoutData(data);
+               final FormLayout layout = new FormLayout();
+               layout.marginWidth = 0;
+               layout.marginHeight = 0;
+               deviceCombo.setLayout(layout);
+
+               deviceCombo.addListener(SWT.FocusIn, new Listener() {
+                       @Override
+                       public void handleEvent(Event event) {
+                               List<String> devices = SDBManager.getDevices();
+                               deviceCombo.removeAll();
+                               int devicesSize = devices.size();
+                               for (int i = 0; i < devicesSize; i++) {
+                                       deviceCombo.add(devices.get(i));
+                               }
+                       }
+               });
+
+               deviceCombo.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               // Sets device name.
+                               SDBManager.setSerial(deviceCombo.getText());
+
+                               appCombo.removeAll();
+
+                               List<String> apps = SDBManager.getAppList();
+                               if (null == apps) {
+                                       return;
+                               }
+                               int appsSize = apps.size();
+                               for (int i = 0; i < appsSize; i++) {
+                                       appCombo.add(apps.get(i));
+                               }
+                       }
+               });
+
+               appCombo = new Combo(composite, SWT.READ_ONLY);
+               appCombo.setForeground(whiteColor);
+               appCombo.setBackground(blackColor);
+               FormData appComboData = new FormData();
+               appComboData.left = new FormAttachment(deviceCombo, 5, SWT.RIGHT);
+               appComboData.width = 200;
+               appComboData.height = 32;
+               appCombo.setLayoutData(appComboData);
+               final FormLayout appComboLayout = new FormLayout();
+               appComboLayout.marginWidth = 0;
+               appComboLayout.marginHeight = 0;
+               appCombo.setLayout(appComboLayout);
+
+               appCombo.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               // Sets application name.
+                               SDBManager.setAppName(appCombo.getText());
+                       }
+               });
+
+               startButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
+               startButton.setImage(startImage);
+               startButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               AnalyzerUtil.executeCommand(StartStopTraceHandler.ID);
+                               String state = AnalyzerUtil.getRecordState();
+                               if (state.equals(RecordStateSourceProvider.RECORD_READY)) {
+                                       AnalyzerUtil
+                                                       .setRecordState(RecordStateSourceProvider.RECORD_RECORDING);
+                                       startButton.setImage(stopImage);
+                               } else {
+                                       AnalyzerUtil
+                                                       .setRecordState(RecordStateSourceProvider.RECORD_READY);
+                                       startButton.setImage(startImage);
+                               }
+                       }
+               });
+
+               startButton.setBackground(blackColor);
+               data = new FormData();
+               data.left = new FormAttachment(appCombo, 30, SWT.RIGHT);
+               data.width = 32;
+               data.height = 32;
+               startButton.setLayoutData(data);
+
+               Composite timeArea = new Composite(composite, SWT.NONE);
+               timeArea.setBackground(new Color(null, 90, 90, 90));
+               data = new FormData();
+               data.left = new FormAttachment(startButton, 0, SWT.RIGHT);
+               data.width = 200;
+               data.height = 32;
+               timeArea.setLayoutData(data);
+
+               Button saveTraceButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
+               saveTraceButton.setImage(saveImage);
+               saveTraceButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               AnalyzerUtil.executeCommand(SaveTraceHandler.ID);
+                       }
+               });
+               saveTraceButton.setBackground(blackColor);
+               data = new FormData();
+               data.left = new FormAttachment(timeArea, 0, SWT.RIGHT);
+               data.width = 40;
+               data.height = 32;
+               saveTraceButton.setLayoutData(data);
+
+               Button openTraceButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
+               openTraceButton.setImage(openImage);
+               openTraceButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               AnalyzerUtil.executeCommand(OpenTraceHandler.ID);
+                       }
+               });
+               openTraceButton.setBackground(blackColor);
+               data = new FormData();
+               data.left = new FormAttachment(saveTraceButton, 0, SWT.RIGHT);
+               data.width = 40;
+               data.height = 32;
+               openTraceButton.setLayoutData(data);
+
+               pickaxeButton = new Button(composite, SWT.FLAT | SWT.NO_FOCUS);
+               pickaxeButton.setImage(pickaxeImage);
+               pickaxeButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               AnalyzerUtil.executeCommand(TestInputHandler.ID);
+                       }
+               });
+               pickaxeButton.setBackground(blackColor);
+               data = new FormData();
+               data.left = new FormAttachment(openTraceButton, 0, SWT.RIGHT);
+               data.width = 28;
+               data.height = 32;
+               pickaxeButton.setLayoutData(data);
+       }
+
+       private Image createImage(String imageName) {
+               return AbstractUIPlugin.imageDescriptorFromPlugin(
+                               ID,
+                               AnalyzerConstants.ICON_FOLDER_NAME + imageName
+                                               + AnalyzerConstants.EXTENSION_JPG_IMAGE).createImage();
+       }
+
+       // private String getState() {
+       // return AnalyzerUtil
+       // .getRecordState(RecordStateSourceProvider.RECORD_STATE);
+       // }
+
+       private void createPerspectiveBar(Composite composite) {
+               Label realtimeLabel = new Label(composite, SWT.NONE);
+               realtimeLabel.setForeground(whiteColor);
+               realtimeLabel.setText(AnalyzerLabels.REALTIME);
+
+               Label batteryLabel = new Label(composite, SWT.NONE);
+               batteryLabel.setForeground(whiteColor);
+               batteryLabel.setText(AnalyzerLabels.BATTERY);
+
+               Label ntimeLabel = new Label(composite, SWT.NONE);
+               ntimeLabel.setForeground(whiteColor);
+               ntimeLabel.setText(AnalyzerLabels.NTIME);
+       }
+
+       private void setLayout(IWorkbenchWindowConfigurer configurer, Shell shell,
+                       Composite toolbar, Composite toolbarLine) {
+               Control page = configurer.createPageComposite(shell);
+
+               FormData data = new FormData();
+               data.top = new FormAttachment(0, 5);
+               data.left = new FormAttachment(0, 5);
+               data.right = new FormAttachment(100, -5);
+               toolbar.setLayoutData(data);
+
+               data = new FormData();
+               data.top = new FormAttachment(toolbar, 0, SWT.BOTTOM);
+               data.left = new FormAttachment(0, 0);
+               data.right = new FormAttachment(100, 0);
+               data.bottom = new FormAttachment(toolbar, 4, SWT.BOTTOM);
+               toolbarLine.setLayoutData(data);
+
+               data = new FormData();
+               data.top = new FormAttachment(toolbarLine, 2, SWT.BOTTOM);
+               data.left = new FormAttachment(0, 5);
+               data.right = new FormAttachment(100, -5);
+               data.bottom = new FormAttachment(100, -5);
+               page.setLayoutData(data);
+
+               configurer.getWindow().getShell().layout(true);
+               if (null != page) {
+                       ((Composite) page).layout(true);
+               }
+       }
+
+}
index 9f507eb..b32b717 100644 (file)
@@ -5,6 +5,8 @@ import org.eclipse.ui.IPerspectiveFactory;
 \r
 public class NtimePerspective implements IPerspectiveFactory {\r
 \r
+       public static final String ID = "com.samsung.dynamicanalyzer.ntimePerspective"; //$NON-NLS-1$\r
+\r
        @Override\r
        public void createInitialLayout(IPageLayout layout) {\r
                layout.setEditorAreaVisible(false);\r
index eecaf29..cf23e95 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse version="3.4"?>\r
-<plugin>\r
-   <extension-point id="updateLog" name="%UpdateLog" schema="schema/com.samsung.dynamicanalyzer.exsd"/>\r
-   <extension-point id="exit" name="%Exit" schema="schema/com.samsung.dynamicanalyzer.exsd"/>\r
-   <extension\r
-         point="org.eclipse.ui.commands">\r
-      <category\r
-            description="%DynamicAnalyzer"\r
-            id="com.samsung.dynamicanalyzer.commands"\r
-            name="%DynamicAnalyzer">\r
-      </category>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.startStopTrace"\r
-            name="%StartStopTrace">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.saveTrace"\r
-            name="%SaveTrace">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.openTrace"\r
-            name="%OpenTrace">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.openRealtimePerspective"\r
-            name="%Realtime">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.openBatteryPerspective"\r
-            name="%Battery">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.openNtimePerspective"\r
-            name="%Ntime">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.openMemoryTab"\r
-            name="%Memory">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.openResourceLifecycleTab"\r
-            name="%ResourceLifecycle">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.openBottleNeckTab"\r
-            name="%BottleNeck">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.testInput"\r
-            name="testInput">\r
-      </command>\r
-      <command\r
-            categoryId="com.samsung.dynamicanalyzer.commands"\r
-            id="com.samsung.dynamicanalyzer.commands.tempInput"\r
-            name="tempInput">\r
-      </command>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.handlers">\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.StartStopTraceHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.startStopTrace">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.SaveTraceHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.saveTrace">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.OpenTraceHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.openTrace">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.OpenRealtimePerspectiveHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.openRealtimePerspective">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.OpenBatteryPerspectiveHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.openBatteryPerspective">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.OpenNtimePerspectiveHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.openNtimePerspective">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.OpenMemoryTabHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.openMemoryTab">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.OpenResourceLifecycleTabHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.openResourceLifecycleTab">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.OpenBottleNeckTabHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.openBottleNeckTab">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.handlers.TestInputHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.testInput">\r
-      </handler>\r
-      <handler\r
-            class="com.samsung.dynamicanalyzer.ui.views.lifecycle.TempInputHandler"\r
-            commandId="com.samsung.dynamicanalyzer.commands.tempInput">\r
-      </handler>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.perspectiveExtensions">\r
-      <perspectiveExtension\r
-            targetID="com.samsung.dynamicanalyzer.realtimePerspective">\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               moveable="false"\r
-               ratio=".4"\r
-               relationship="top"\r
-               relative="org.eclipse.ui.editorss"\r
-               showTitle="true"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.SummaryView"\r
-               moveable="false"\r
-               relationship="stack"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-               minimized="false"\r
-               moveable="false"\r
-               ratio=".8"\r
-               relationship="left"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.TimelineView"\r
-               minimized="false"\r
-               moveable="false"\r
-               ratio=".5"\r
-               relationship="top"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.AnalysisView"\r
-               minimized="false"\r
-               moveable="false"\r
-               relationship="bottom"\r
-               relative="org.eclipse.ui.editorss">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.LogView"\r
-               minimized="false"\r
-               moveable="false"\r
-               relationship="stack"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.AnalysisView">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.CallGraphView"\r
-               minimized="false"\r
-               moveable="false"\r
-               relationship="stack"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.AnalysisView"\r
-               visible="false">\r
-         </view>\r
-      </perspectiveExtension>\r
-      <perspectiveExtension\r
-            targetID="com.samsung.dynamicanalyzer.batteryPerspective">\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               moveable="false"\r
-               ratio=".4"\r
-               relationship="top"\r
-               relative="org.eclipse.ui.editorss"\r
-               showTitle="true"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.SummaryView"\r
-               moveable="false"\r
-               relationship="stack"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-               minimized="false"\r
-               moveable="false"\r
-               ratio=".8"\r
-               relationship="left"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.TimelineView"\r
-               minimized="false"\r
-               moveable="false"\r
-               ratio=".5"\r
-               relationship="top"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.BatteryAnalysisView"\r
-               minimized="false"\r
-               moveable="false"\r
-               relationship="bottom"\r
-               relative="org.eclipse.ui.editorss">\r
-         </view>\r
-         <hiddenToolBarItem\r
-               id="com.samsung.dynamicanalyzer.menus.toolbar.openTab">\r
-         </hiddenToolBarItem>\r
-      </perspectiveExtension>\r
-      <perspectiveExtension\r
-            targetID="com.samsung.dynamicanalyzer.ntimePerspective">\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               moveable="false"\r
-               ratio=".4"\r
-               relationship="top"\r
-               relative="org.eclipse.ui.editorss"\r
-               showTitle="true"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.SummaryView"\r
-               moveable="false"\r
-               relationship="stack"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-               minimized="false"\r
-               moveable="false"\r
-               ratio=".8"\r
-               relationship="left"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.TimelineView"\r
-               minimized="false"\r
-               moveable="false"\r
-               ratio=".5"\r
-               relationship="top"\r
-               relative="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-               showTitle="false"\r
-               standalone="true">\r
-         </view>\r
-         <view\r
-               closeable="false"\r
-               id="com.samsung.dynamicanalyzer.ui.views.NtimeAnalysisView"\r
-               minimized="false"\r
-               moveable="false"\r
-               relationship="bottom"\r
-               relative="org.eclipse.ui.editorss">\r
-         </view>\r
-         <hiddenToolBarItem\r
-               id="com.samsung.dynamicanalyzer.menus.toolbar.openTab">\r
-         </hiddenToolBarItem>\r
-      </perspectiveExtension>\r
-   </extension>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension-point id="updateLog" name="%UpdateLog" schema="schema/com.samsung.dynamicanalyzer.exsd"/>
+   <extension-point id="exit" name="%Exit" schema="schema/com.samsung.dynamicanalyzer.exsd"/>
    <extension
-         point="org.eclipse.ui.themes">\r
-      <theme\r
-            id="com.samsung.dynamicanalyzer.theme"\r
-            name="%DynamicAnalyzerTheme">\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END"\r
-               value="102,102,102">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START"\r
-               value="153,153,153">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR"\r
-               value="255,255,255">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"\r
-               value="051,051,255">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"\r
-               value="153,153,255">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR"\r
-               value="255,255,255">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_END"\r
-               value="102,102,102">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_START"\r
-               value="153,153,153">\r
-         </colorOverride>\r
-         <colorOverride\r
-               id="org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR"\r
-               value="255,255,255">\r
-         </colorOverride>\r
-      </theme>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.views">\r
-      <category\r
-            id="com.samsung.dynamicanalyzer.ui.views"\r
-            name="%DynamicAnalyzer">\r
-      </category>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"\r
-            name="%Snapshot"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.SummaryView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.SummaryView"\r
-            name="%Summary"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"\r
-            name="%AdditionalTimeline"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.TimelineView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.TimelineView"\r
-            name="%Timeline"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.AnalysisView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.AnalysisView"\r
-            name="%Analysis"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.LogView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.LogView"\r
-            name="%Log"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.CallGraphView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.CallGraphView"\r
-            name="%CallGraph"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.BatteryAnalysisView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.BatteryAnalysisView"\r
-            name="%BatteryAnalysis"\r
-            restorable="true">\r
-      </view>\r
-      <view\r
-            category="com.samsung.dynamicanalyzer.ui.views"\r
-            class="com.samsung.dynamicanalyzer.ui.views.NtimeAnalysisView"\r
-            id="com.samsung.dynamicanalyzer.ui.views.NtimeAnalysisView"\r
-            name="%NtimeAnalysis"\r
-            restorable="true">\r
-      </view>\r
-   </extension>\r
-   <extension\r
-         point="com.samsung.dynamicanalyzer.updateLog">\r
-      <updateLog\r
-            class="com.samsung.dynamicanalyzer.extensions.LogParsingTest">\r
-      </updateLog>\r
-   </extension>\r
-   <extension\r
-         point="com.samsung.dynamicanalyzer.updateLog">\r
-      <updateLog\r
-            class="com.samsung.dynamicanalyzer.extensions.InsertLog">\r
-      </updateLog>\r
-   </extension>\r
-   <extension\r
-         point="com.samsung.dynamicanalyzer.updateLog">\r
-      <updateLog\r
-            class="com.samsung.dynamicanalyzer.ui.views.lifecycle.LifeCycleSubject">\r
-      </updateLog>\r
+         point="org.eclipse.ui.commands">
+      <category
+            description="%DynamicAnalyzer"
+            id="com.samsung.dynamicanalyzer.commands"
+            name="%DynamicAnalyzer">
+      </category>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.startStopTrace"
+            name="%StartStopTrace">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.saveTrace"
+            name="%SaveTrace">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.openTrace"
+            name="%OpenTrace">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.openRealtimePerspective"
+            name="%Realtime">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.openBatteryPerspective"
+            name="%Battery">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.openNtimePerspective"
+            name="%Ntime">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.openMemoryTab"
+            name="%Memory">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.openResourceLifecycleTab"
+            name="%ResourceLifecycle">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.openBottleNeckTab"
+            name="%BottleNeck">
+      </command>
+      <command
+            categoryId="com.samsung.dynamicanalyzer.commands"
+            id="com.samsung.dynamicanalyzer.commands.testInput"
+            name="testInput">
+      </command>
    </extension>
-</plugin>\r
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.StartStopTraceHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.startStopTrace">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.SaveTraceHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.saveTrace">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.OpenTraceHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.openTrace">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.OpenRealtimePerspectiveHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.openRealtimePerspective">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.OpenBatteryPerspectiveHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.openBatteryPerspective">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.OpenNtimePerspectiveHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.openNtimePerspective">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.OpenMemoryTabHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.openMemoryTab">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.OpenResourceLifecycleTabHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.openResourceLifecycleTab">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.OpenBottleNeckTabHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.openBottleNeckTab">
+      </handler>
+      <handler
+            class="com.samsung.dynamicanalyzer.handlers.TestInputHandler"
+            commandId="com.samsung.dynamicanalyzer.commands.testInput">
+      </handler>
+   </extension>
+   <extension
+         point="org.eclipse.ui.perspectiveExtensions">
+      <perspectiveExtension
+            targetID="com.samsung.dynamicanalyzer.realtimePerspective">
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               moveable="false"
+               ratio=".4"
+               relationship="top"
+               relative="org.eclipse.ui.editorss"
+               showTitle="true"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.SummaryView"
+               moveable="false"
+               relationship="stack"
+               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+               minimized="false"
+               moveable="false"
+               ratio=".8"
+               relationship="left"
+               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.TimelineView"
+               minimized="false"
+               moveable="false"
+               ratio=".5"
+               relationship="top"
+               relative="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.AnalysisView"
+               minimized="false"
+               moveable="false"
+               relationship="bottom"
+               relative="org.eclipse.ui.editorss">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.LogView"
+               minimized="false"
+               moveable="false"
+               relationship="stack"
+               relative="com.samsung.dynamicanalyzer.ui.views.AnalysisView">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.CallGraphView"
+               minimized="false"
+               moveable="false"
+               relationship="stack"
+               relative="com.samsung.dynamicanalyzer.ui.views.AnalysisView"
+               visible="false">
+         </view>
+      </perspectiveExtension>
+      <perspectiveExtension
+            targetID="com.samsung.dynamicanalyzer.batteryPerspective">
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               moveable="false"
+               ratio=".4"
+               relationship="top"
+               relative="org.eclipse.ui.editorss"
+               showTitle="true"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.SummaryView"
+               moveable="false"
+               relationship="stack"
+               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+               minimized="false"
+               moveable="false"
+               ratio=".8"
+               relationship="left"
+               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.TimelineView"
+               minimized="false"
+               moveable="false"
+               ratio=".5"
+               relationship="top"
+               relative="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.BatteryAnalysisView"
+               minimized="false"
+               moveable="false"
+               relationship="bottom"
+               relative="org.eclipse.ui.editorss">
+         </view>
+      </perspectiveExtension>
+      <perspectiveExtension
+            targetID="com.samsung.dynamicanalyzer.ntimePerspective">
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               moveable="false"
+               ratio=".4"
+               relationship="top"
+               relative="org.eclipse.ui.editorss"
+               showTitle="true"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.SummaryView"
+               moveable="false"
+               relationship="stack"
+               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+               minimized="false"
+               moveable="false"
+               ratio=".8"
+               relationship="left"
+               relative="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.TimelineView"
+               minimized="false"
+               moveable="false"
+               ratio=".5"
+               relationship="top"
+               relative="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+               showTitle="false"
+               standalone="true">
+         </view>
+         <view
+               closeable="false"
+               id="com.samsung.dynamicanalyzer.ui.views.NtimeAnalysisView"
+               minimized="false"
+               moveable="false"
+               relationship="bottom"
+               relative="org.eclipse.ui.editorss">
+         </view>
+      </perspectiveExtension>
+   </extension>
+   <extension
+         point="org.eclipse.ui.themes">
+      <theme
+            id="com.samsung.dynamicanalyzer.theme"
+            name="%DynamicAnalyzerTheme">
+         <colorOverride
+               id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END"
+               value="102,102,102">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START"
+               value="153,153,153">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR"
+               value="255,255,255">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"
+               value="051,051,255">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"
+               value="153,153,255">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR"
+               value="255,255,255">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_END"
+               value="102,102,102">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_START"
+               value="153,153,153">
+         </colorOverride>
+         <colorOverride
+               id="org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR"
+               value="255,255,255">
+         </colorOverride>
+      </theme>
+   </extension>
+   <extension
+         point="org.eclipse.ui.views">
+      <category
+            id="com.samsung.dynamicanalyzer.ui.views"
+            name="%DynamicAnalyzer">
+      </category>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+            id="com.samsung.dynamicanalyzer.ui.views.SnapshotView"
+            name="%Snapshot"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.SummaryView"
+            id="com.samsung.dynamicanalyzer.ui.views.SummaryView"
+            name="%Summary"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+            id="com.samsung.dynamicanalyzer.ui.views.AdditionalTimelineView"
+            name="%AdditionalTimeline"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.TimelineView"
+            id="com.samsung.dynamicanalyzer.ui.views.TimelineView"
+            name="%Timeline"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.AnalysisView"
+            id="com.samsung.dynamicanalyzer.ui.views.AnalysisView"
+            name="%Analysis"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.LogView"
+            id="com.samsung.dynamicanalyzer.ui.views.LogView"
+            name="%Log"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.CallGraphView"
+            id="com.samsung.dynamicanalyzer.ui.views.CallGraphView"
+            name="%CallGraph"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.BatteryAnalysisView"
+            id="com.samsung.dynamicanalyzer.ui.views.BatteryAnalysisView"
+            name="%BatteryAnalysis"
+            restorable="true">
+      </view>
+      <view
+            category="com.samsung.dynamicanalyzer.ui.views"
+            class="com.samsung.dynamicanalyzer.ui.views.NtimeAnalysisView"
+            id="com.samsung.dynamicanalyzer.ui.views.NtimeAnalysisView"
+            name="%NtimeAnalysis"
+            restorable="true">
+      </view>
+   </extension>
+   <extension
+         point="com.samsung.dynamicanalyzer.updateLog">
+      <updateLog
+            class="com.samsung.dynamicanalyzer.extensions.LogParsingTest">
+      </updateLog>
+   </extension>
+   <extension
+         point="com.samsung.dynamicanalyzer.updateLog">
+      <updateLog
+            class="com.samsung.dynamicanalyzer.extensions.InsertLog">
+      </updateLog>
+   </extension>
+   <extension
+         point="com.samsung.dynamicanalyzer.updateLog">
+      <updateLog
+            class="com.samsung.dynamicanalyzer.ui.views.lifecycle.LifeCycleSubject">
+      </updateLog>
+   </extension>
+</plugin>
index 1c8d48d..ab61cbb 100644 (file)
@@ -1,10 +1,9 @@
 package com.samsung.dynamicanalyzer;\r
 \r
-\r
 public class AnalyzerConstants {\r
 \r
        public static final String VERSION = "0.1"; //$NON-NLS-1$\r
-       \r
+\r
        // special character\r
        public static final String EMPTY = ""; //$NON-NLS-1$\r
        public static final String SPACE = " "; //$NON-NLS-1$\r
@@ -33,10 +32,11 @@ public class AnalyzerConstants {
        public static final String SAVE_FOLDER_PATH = DEFAULT_DIR_PATH_DYNAMICANALYZER\r
                        + SLASH + SAVE_FOLDER_NAME;\r
        public static final String TEMP_FOLDER_NAME = "temp"; //$NON-NLS-1$\r
-       public static final String TEMP_FOLDER_PATH = SAVE_FOLDER_PATH\r
-                       + SLASH + AnalyzerConstants.TEMP_FOLDER_NAME;\r
+       public static final String TEMP_FOLDER_PATH = SAVE_FOLDER_PATH + SLASH\r
+                       + AnalyzerConstants.TEMP_FOLDER_NAME;\r
        public static final String SDK_DYNAMICANALYZER_NAME = "/samsung-sdk/DynamicAnalysis";\r
-       public static final String IMAGE_FOLDER_NAME = "/img";\r
+       public static final String IMAGE_FOLDER_NAME = "/img"; //$NON-NLS-1$\r
+       public static final String ICON_FOLDER_NAME = "icons/"; //$NON-NLS-1$\r
 \r
        public static final String CLASS = "class"; //$NON-NLS-1$\r
        public static final String ZERO = "0"; //$NON-NLS-1$\r
@@ -66,21 +66,21 @@ public class AnalyzerConstants {
 \r
        // log parsing size\r
        public static final int DATABASE_READ_SIZE = 100;\r
-       \r
+\r
        // project save index\r
        public static final int PROJECT_VERSION_INDEX = 0;\r
        public static final int PROJECT_NAME_INDEX = 1;\r
        public static final int PROJECT_DEVICE_INDEX = 2;\r
        public static final int PROJECT_LAST_DATA_INDEX = 3;\r
-       \r
+\r
        // Shell command\r
-       public static final String REMOVE_RECURSIVE_FORCE="rm -rf ";//$NON-NLS-1$\r
+       public static final String REMOVE_RECURSIVE_FORCE = "rm -rf ";//$NON-NLS-1$\r
 \r
        public static final String EXTENSION_LOG_CENTER = ".logc"; //$NON-NLS-1$\r
        public static final String EXTENSION_JPG_IMAGE = ".jpg";//$NON-NLS-1$\r
        public static final String EXTENSION_PNG_IMAGE = ".png";//$NON-NLS-1$\r
        public static final String DATABASE_NAME = "da.trace"; //$NON-NLS-1$\r
-       \r
+\r
        private AnalyzerConstants() {\r
        }\r
 \r
index 066dfef..2fd3af9 100644 (file)
@@ -11,12 +11,15 @@ import com.samsung.dynamicanalyzer.utils.AnalyzerUtil;
 \r
 public class OpenTraceHandler extends AbstractHandler {\r
 \r
+       public static final String ID = "com.samsung.dynamicanalyzer.commands.openTrace"; //$NON-NLS-1$\r
+\r
        @Override\r
        public Object execute(ExecutionEvent event) throws ExecutionException {\r
                AnalyzerManager.setNew(false);\r
                Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell();\r
                OpenTraceDialog dialog = new OpenTraceDialog(shell, 0);\r
                dialog.open();\r
+\r
                return null;\r
        }\r
 \r
index c42e15b..76b88f2 100644 (file)
@@ -16,6 +16,8 @@ import com.samsung.dynamicanalyzer.utils.AnalyzerUtil;
 \r
 public class SaveTraceHandler extends AbstractHandler {\r
 \r
+       public static final String ID = "com.samsung.dynamicanalyzer.commands.saveTrace"; //$NON-NLS-1$\r
+\r
        @Override\r
        public Object execute(ExecutionEvent event) throws ExecutionException {\r
                // copy temp save file to save folder\r
@@ -57,6 +59,7 @@ public class SaveTraceHandler extends AbstractHandler {
                        // TODO Auto-generated catch block\r
                        e.printStackTrace();\r
                }\r
+\r
                return null;\r
        }\r
 \r
index 0101701..6526c94 100644 (file)
@@ -15,6 +15,8 @@ import com.samsung.dynamicanalyzer.utils.AnalyzerUtil;
 \r
 public class StartStopTraceHandler extends AbstractHandler {\r
 \r
+       public static final String ID = "com.samsung.dynamicanalyzer.commands.startStopTrace"; //$NON-NLS-1$\r
+\r
        @Override\r
        public Object execute(ExecutionEvent event) throws ExecutionException {\r
                String state = AnalyzerUtil.getRecordState();\r
@@ -22,7 +24,7 @@ public class StartStopTraceHandler extends AbstractHandler {
                        // record start\r
 \r
                        Project old = AnalyzerManager.getProject();\r
-                       //TODO: delete\r
+                       // TODO: delete\r
                        // test code\r
                        old.setName("testApp");\r
                        old.setDevice("testEmul");\r
index db10812..217ab37 100644 (file)
@@ -13,6 +13,8 @@ import com.samsung.dynamicanalyzer.model.Project;
 
 public class TestInputHandler extends AbstractHandler {
 
+       public static final String ID = "com.samsung.dynamicanalyzer.commands.testInput"; //$NON-NLS-1$
+
        @Override
        public Object execute(ExecutionEvent event) throws ExecutionException {
                Project old = AnalyzerManager.getProject();
@@ -32,6 +34,7 @@ public class TestInputHandler extends AbstractHandler {
                input.add("5`,9`,close`,59342`,19`,0`,0`,2`,`,0`,0`,0`,");
                input.add("5`,10`,open`,59904`,/opt/var/kdb/db/menu_widget/language,0`,19`,0`,2`,`,19`,0`,0`,");
                LogSpliter.logSlicing(input);
+
                return null;
        }
 
index 969fa56..62fbf18 100644 (file)
@@ -6,6 +6,11 @@ public class AnalyzerLabels {
 \r
        private static final String BUNDLE_NAME = "com.samsung.dynamicanalyzer.nl.AnalyzerLabels"; //$NON-NLS-1$\r
 \r
+       // Open Perspective toolbar name\r
+       public static String REALTIME;\r
+       public static String BATTERY;\r
+       public static String NTIME;\r
+\r
        static {\r
                NLS.initializeMessages(BUNDLE_NAME, AnalyzerLabels.class);\r
        }\r