[268338] move complexity visualization into vicram project and revert simplevisualizer to original
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties b/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties index 7d7ba1d..7a22eec 100644 --- a/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties +++ b/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.properties
@@ -21,4 +21,4 @@ simplevizualizer.HTMLPerspective.name=Web Perspective -About.Text=Eclipse ACTF Simple Vizualizer\nVersion: 0.9.0\n\nCopyright Eclipse contributors and others 2007, 2012. All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/ \ No newline at end of file +About.Text=Eclipse ACTF Simple Vizualizer\nVersion: 1.0.0\n\nCopyright Eclipse contributors and others 2007, 2012. All rights reserved.\nVisit http://www.eclipse.org/actf/\n\nThis product includes software developed by the\nApache Software Foundation http://www.apache.org/ \ No newline at end of file
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.xml b/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.xml index fb86631..8be4aa8 100644 --- a/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.xml +++ b/plugins/org.eclipse.actf.examples.simplevisualizer/plugin.xml
@@ -17,47 +17,7 @@ icon="icons/perspectives/html.png" id="org.eclipse.actf.examples.simplevisualizer.ui.perspectives.HTMLPerspective" name="%simplevizualizer.HTMLPerspective.name"/> - <perspective - class="org.eclipse.actf.examples.simplevisualizer.ui.perspectives.ComplexityVisualizationPerspective" - icon="icons/perspectives/sample.gif" - id="org.eclipse.actf.examples.simplevisualizer.ui.perspectives.ComplexityVisualizationPerspective" - name="Complexity Visualization Perspective"> - </perspective> </extension> - - <extension - point="org.eclipse.ui.perspectiveExtensions"> - <perspectiveExtension - targetID="org.eclipse.actf.examples.simplevisualizer.ui.perspectives.HTMLPerspective"> - <perspectiveShortcut id="org.eclipse.actf.examples.simplevisualizer.ui.perspectives.ComplexityVisualizationPerspective"/> - </perspectiveExtension> - <perspectiveExtension - targetID="org.eclipse.actf.examples.simplevisualizer.ui.perspectives.ComplexityVisualizationPerspective"> - <perspectiveShortcut id="org.eclipse.actf.examples.simplevisualizer.ui.perspectives.HTMLPerspective"/> - <view - closeable="false" - id="org.eclipse.actf.visualization.ui.report.views.SummaryReportView" - ratio="0.35f" - relationship="bottom" - relative="org.eclipse.ui.editorss" - visible="true"> - </view> - <view - closeable="false" - id="org.eclipse.actf.visualization.ui.report.views.DetailedReportView" - relationship="stack" - relative="org.eclipse.actf.visualization.ui.report.views.SummaryReportView"> - </view> - <view - closeable="false" - id="org.eclipse.actf.examples.simplevisualizer.ui.views.ComplexityVisualizationView" - ratio="0.5f" - relationship="top" - relative="org.eclipse.actf.visualization.ui.report.views.SummaryReportView"> - </view> - </perspectiveExtension> - </extension> - <extension point="org.eclipse.ui.actionSets"> <actionSet @@ -120,12 +80,6 @@ id="org.eclipse.actf.examples.simplevisualizer.ui.views.SimpleVisualizerView" name="Simple Visualizer View"> </view> - <view - category="org.eclipse.actf.visualization.ui.views" - class="org.eclipse.actf.examples.simplevisualizer.ui.views.ComplexityVisualizationView" - id="org.eclipse.actf.examples.simplevisualizer.ui.views.ComplexityVisualizationView" - name="Complexity Visualization View"> - </view> </extension> </plugin>
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ApplicationWorkbenchAdvisor.java b/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ApplicationWorkbenchAdvisor.java index d15cb97..963e04d 100644 --- a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ApplicationWorkbenchAdvisor.java +++ b/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ApplicationWorkbenchAdvisor.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and Others + * Copyright (c) 2006, 2008 IBM Corporation and Others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,22 +10,20 @@ *******************************************************************************/ package org.eclipse.actf.examples.simplevisualizer; -import org.eclipse.actf.examples.simplevisualizer.ui.perspectives.ComplexityVisualizationPerspective; +import org.eclipse.actf.examples.simplevisualizer.ui.perspectives.HTMLPerspective; import org.eclipse.ui.application.IWorkbenchWindowConfigurer; import org.eclipse.ui.application.WorkbenchAdvisor; import org.eclipse.ui.application.WorkbenchWindowAdvisor; + public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { - public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor( - IWorkbenchWindowConfigurer configurer) { - return new ApplicationWorkbenchWindowAdvisor(configurer); - } + public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { + return new ApplicationWorkbenchWindowAdvisor(configurer); + } - public String getInitialWindowPerspectiveId() { - // temp - return ComplexityVisualizationPerspective.ID; - // return HTMLPerspective.ID; - } + public String getInitialWindowPerspectiveId() { + return HTMLPerspective.ID; + } }
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/internal/ComplexityVisualizationController.java b/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/internal/ComplexityVisualizationController.java deleted file mode 100644 index 6731547..0000000 --- a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/internal/ComplexityVisualizationController.java +++ /dev/null
@@ -1,234 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation, University of Manchester and Others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Kentarou FUKUDA - initial API and implementation - * Eleni Michailidou - initial API and implementation - *******************************************************************************/ -package org.eclipse.actf.examples.simplevisualizer.ui.internal; - -import java.io.File; -import java.util.List; - -import org.eclipse.actf.examples.simplevisualizer.SimpleVisualizerPlugin; -import org.eclipse.actf.examples.simplevisualizer.vicramtest.Complexity; -import org.eclipse.actf.examples.simplevisualizer.vicramtest.Visualization; -import org.eclipse.actf.mediator.Mediator; -import org.eclipse.actf.model.ui.IModelService; -import org.eclipse.actf.model.ui.ModelServiceImageCreator; -import org.eclipse.actf.model.ui.ModelServiceSizeInfo; -import org.eclipse.actf.model.ui.editor.browser.IWebBrowserACTF; -import org.eclipse.actf.model.ui.editor.browser.IWebBrowserStyleInfo; -import org.eclipse.actf.model.ui.util.ModelServiceUtils; -import org.eclipse.actf.visualization.IVisualizationConst; -import org.eclipse.actf.visualization.eval.EvaluationResultImpl; -import org.eclipse.actf.visualization.ui.IPositionSize; -import org.eclipse.actf.visualization.ui.IVisualizationView; -import org.eclipse.actf.visualization.ui.VisualizationCanvas; -import org.eclipse.actf.visualization.util.ImageOverlayUtil; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Cursor; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IWorkbenchActionConstants; - -public class ComplexityVisualizationController implements IVisualizationConst { - - private static final EvaluationResultImpl dummyResult = new EvaluationResultImpl(); - - private Shell shell; - private IVisualizationView vizView; - private VisualizationCanvas vizCanvas; - private AlphaValueToolbar alphaBar; - private Action overlayAction; - - private Mediator mediator = Mediator.getInstance(); - - private boolean isInVisualize; - private EvaluationResultImpl evalResult; - private String screenshotFile, reportFile; - - public ComplexityVisualizationController(IVisualizationView vizView, - Composite parent) { - - this.vizView = vizView; - this.shell = parent.getShell(); - - initComposite(parent); - prepareActions(); - - isInVisualize = false; - - try { - File dumpImgFile = SimpleVisualizerPlugin.getDefault() - .createTempFile(PREFIX_SCREENSHOT, SUFFIX_BMP); - screenshotFile = dumpImgFile.getAbsolutePath(); - } catch (Exception e) { - e.printStackTrace(); - } - try { - File htmlFile = SimpleVisualizerPlugin.getDefault().createTempFile( - PREFIX_REPORT, SUFFIX_HTML); - reportFile = htmlFile.getAbsolutePath(); - } catch (Exception e) { - e.printStackTrace(); - } - - } - - private void prepareActions() { - - overlayAction = new Action("Complexity Visualization", - SimpleVisualizerPlugin.imageDescriptorFromPlugin( - SimpleVisualizerPlugin.PLUGIN_ID, - "/icons/action16/overlay16.gif")) { - public void run() { - doVisualize(); - } - }; - - IActionBars bars = vizView.getViewSite().getActionBars(); - // IMenuManager menuManager = bars.getMenuManager(); - IToolBarManager toolbarManager = bars.getToolBarManager(); - toolbarManager.add(overlayAction); - toolbarManager - .add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); - } - - private void initComposite(Composite parent) { - GridData gridData; - - GridLayout gridLayout = new GridLayout(); - gridLayout.numColumns = 1; - gridLayout.marginHeight = gridLayout.marginWidth = 0; - gridLayout.horizontalSpacing = gridLayout.verticalSpacing = 0; - parent.setLayout(gridLayout); - - alphaBar = new AlphaValueToolbar(parent, SWT.BORDER); - - Composite compositeLowVisionHalf2 = new Composite(parent, SWT.NONE); - gridData = new GridData(); - gridData.horizontalAlignment = GridData.FILL; - gridData.verticalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - compositeLowVisionHalf2.setLayoutData(gridData); - - gridLayout = new GridLayout(); - gridLayout.numColumns = 1; - gridLayout.marginHeight = gridLayout.marginWidth = 0; - gridLayout.horizontalSpacing = gridLayout.verticalSpacing = 0; - compositeLowVisionHalf2.setLayout(gridLayout); - - // Canvas to show the image. - this.vizCanvas = new VisualizationCanvas(compositeLowVisionHalf2); - gridData = new GridData(); - gridData.horizontalSpan = 1; - gridData.horizontalAlignment = GridData.FILL; - gridData.verticalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - this.vizCanvas.setLayoutData(gridData); - } - - public void doVisualize() { - if (isInVisualize) { - return; - } - - isInVisualize = true; - shell.setCursor(new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT)); - - // remove results - mediator.setReport(vizView, dummyResult); - evalResult = new EvaluationResultImpl(); - vizCanvas.clear(); - shell.getDisplay().update(); - - vizView.setStatusMessage("Capturing screenshot."); - // obtain active Model Service (browser, etc.) - IModelService modelService = ModelServiceUtils.getActiveModelService(); - if (modelService == null) { - return; - } - - // generate screenshot and read it as Image - ModelServiceImageCreator imgCreator = new ModelServiceImageCreator( - modelService); - imgCreator.getScreenImageAsBMP(screenshotFile, true); - Image baseImage = new Image(shell.getDisplay(), screenshotFile); - - vizView.setStatusMessage("Processing overlay."); - - // prepare overlay image data (rainbow) - Rectangle size = baseImage.getBounds(); - int[][] overlayPixels = new int[size.height][size.width]; - int xMax = size.width; - int yMax = size.height; - - for (int y = 0; y < yMax; y++) { - for (int x = 0; x < xMax; x++) { - overlayPixels[y][x] = 0xC0C0C0; - } - } - // EM - Call Visualization Code - // - // overlaypixels = Visualization.findElements(overlaypixels); - - overlayPixels = Visualization.findElements(overlayPixels, size, true); - - ImageOverlayUtil.overlay(baseImage, overlayPixels, alphaBar.getAlpha()); - - // set image to canvas - vizCanvas.showImage(baseImage.getImageData(), modelService); - - if (modelService instanceof IWebBrowserACTF) { - IWebBrowserACTF browser = (IWebBrowserACTF) modelService; - vizView.setStatusMessage("Getting styleInfo from Live DOM."); - - IWebBrowserStyleInfo style = browser.getStyleInfo(); - ModelServiceSizeInfo sizeInfo = style.getSizeInfo(true); - StringBuffer tmpSB = new StringBuffer(4096); - // EM - Call calculate method - tmpSB.append(Complexity.calculate()); - tmpSB.append(Visualization.gridDescription); - // tmpSB.append(Complexity.getTotalWords()); - // tmpSB.append("Web page size: [" + sizeInfo.toString() + "]" - // + FileUtils.LINE_SEP + FileUtils.LINE_SEP); - - // set styleInfo as a summary report - evalResult.setSummaryReportText(tmpSB.toString()); - // set summary of the page as a report - evalResult.setSummaryReportUrl(reportFile); - - } - - Mediator.getInstance().setReport(vizView, evalResult); - - vizView.setStatusMessage("Visualization is over."); - shell.setCursor(null); - isInVisualize = false; - - } - - public void setHighlightPositions(List<IPositionSize> infoPositionSizeList) { - vizCanvas.highlight(infoPositionSizeList); - } - - public void setCurrentModelService(IModelService modelService) { - vizCanvas.setCurrentModelService(modelService); - } - -}
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/perspectives/ComplexityVisualizationPerspective.java b/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/perspectives/ComplexityVisualizationPerspective.java deleted file mode 100644 index ae0a59a..0000000 --- a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/perspectives/ComplexityVisualizationPerspective.java +++ /dev/null
@@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and Others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Kentarou FUKUDA - initial API and implementation - *******************************************************************************/ - -package org.eclipse.actf.examples.simplevisualizer.ui.perspectives; - -import java.net.MalformedURLException; -import java.net.URL; - -import org.eclipse.actf.model.ui.util.PerspectiveListenerForBrowserLaunch; -import org.eclipse.ui.IPageLayout; -import org.eclipse.ui.IPerspectiveFactory; -import org.eclipse.ui.PlatformUI; - -public class ComplexityVisualizationPerspective implements IPerspectiveFactory { - - public static final String ID = ComplexityVisualizationPerspective.class.getName(); - - public void createInitialLayout(IPageLayout layout) { - layout.setEditorAreaVisible(true); - - try { - PerspectiveListenerForBrowserLaunch.setTargetUrl(new URL( - "http://www.eclipse.org/actf")); - } catch (MalformedURLException e) { - } - - PlatformUI.getWorkbench().getActiveWorkbenchWindow() - .addPerspectiveListener( - new PerspectiveListenerForBrowserLaunch(ID)); - } -}
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/perspectives/PerspectiveListenerForBrowserLaunch.java b/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/perspectives/PerspectiveListenerForBrowserLaunch.java new file mode 100644 index 0000000..bc46ff3 --- /dev/null +++ b/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/perspectives/PerspectiveListenerForBrowserLaunch.java
@@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2006, 2008 IBM Corporation and Others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Kentarou FUKUDA - initial API and implementation + *******************************************************************************/ + +package org.eclipse.actf.examples.simplevisualizer.ui.perspectives; + +import org.eclipse.actf.model.ui.editors.ie.WebBrowserEditor; +import org.eclipse.actf.model.ui.util.ModelServiceUtils; +import org.eclipse.ui.IPerspectiveDescriptor; +import org.eclipse.ui.IPerspectiveListener; +import org.eclipse.ui.IWorkbenchPage; + +public class PerspectiveListenerForBrowserLaunch implements + IPerspectiveListener { + + private String id; + + public PerspectiveListenerForBrowserLaunch(String id) { + this.id = id; + } + + public void perspectiveActivated(IWorkbenchPage page, + IPerspectiveDescriptor perspective) { + if (id.equals(perspective.getId())) { + if (!ModelServiceUtils.activateEditorPart(WebBrowserEditor.ID)) { + ModelServiceUtils + .launch("http://www.eclipse.org/actf", + WebBrowserEditor.ID); + } + } + } + + public void perspectiveChanged(IWorkbenchPage page, + IPerspectiveDescriptor perspective, String changeId) { + } + +}
diff --git a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/views/ComplexityVisualizationView.java b/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/views/ComplexityVisualizationView.java deleted file mode 100644 index 124d51a..0000000 --- a/plugins/org.eclipse.actf.examples.simplevisualizer/src/org/eclipse/actf/examples/simplevisualizer/ui/views/ComplexityVisualizationView.java +++ /dev/null
@@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and Others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Kentarou FUKUDA - initial API and implementation - *******************************************************************************/ -package org.eclipse.actf.examples.simplevisualizer.ui.views; - -import org.eclipse.actf.examples.simplevisualizer.ui.internal.ComplexityVisualizationController; -import org.eclipse.actf.mediator.MediatorEvent; -import org.eclipse.actf.visualization.ui.IVisualizationView; -import org.eclipse.actf.visualization.ui.VisualizationStatusLineContributionItem; -import org.eclipse.actf.visualization.ui.report.table.ResultTableLabelProviderLV; -import org.eclipse.actf.visualization.ui.report.table.ResultTableSorterLV; -import org.eclipse.jface.action.IContributionItem; -import org.eclipse.jface.viewers.IBaseLabelProvider; -import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IViewSite; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.part.ViewPart; - -public class ComplexityVisualizationView extends ViewPart implements IVisualizationView { - - public static final String ID = ComplexityVisualizationView.class.getName(); - - private IBaseLabelProvider baseLabelProvider = new ResultTableLabelProviderLV(); - - private ViewerSorter viewerSorter = new ResultTableSorterLV(); - - private ComplexityVisualizationController partControl; - - public ComplexityVisualizationView() { - super(); - } - - public void init(IViewSite site) throws PartInitException { - setSite(site); - setStatusLine(); - } - - public void createPartControl(Composite parent) { - partControl = new ComplexityVisualizationController(this, parent); - } - - public void setFocus() { - } - - public void setStatusMessage(String statusMessage) { - IContributionItem[] items = getViewSite().getActionBars() - .getStatusLineManager().getItems(); - for (int i = 0; i < items.length; i++) { - if (null != items[i] - && items[i].getId().equals( - VisualizationStatusLineContributionItem.ID + ID)) { - ((VisualizationStatusLineContributionItem) items[i]) - .setStatusMessage(statusMessage); - } - } - } - - public void setInfoMessage(String infoMessage) { - IContributionItem[] items = getViewSite().getActionBars() - .getStatusLineManager().getItems(); - for (int i = 0; i < items.length; i++) { - if (null != items[i] - && items[i].getId().equals( - VisualizationStatusLineContributionItem.ID + ID)) { - ((VisualizationStatusLineContributionItem) items[i]) - .setInfoMessage(infoMessage); - } - } - } - - private void setStatusLine() { - getViewSite().getActionBars().getStatusLineManager().add( - new VisualizationStatusLineContributionItem(ID)); - } - - public IBaseLabelProvider getLabelProvider() { - return baseLabelProvider; - } - - public ViewerSorter getTableSorter() { - return viewerSorter; - } - - public int getResultTableMode() { - return MODE_LOWVISION; - } - - public void doVisualize() { - partControl.doVisualize(); - } - - public void modelserviceChanged(MediatorEvent event) { - partControl.setCurrentModelService(event.getModelServiceHolder() - .getModelService()); - } - - public void modelserviceInputChanged(MediatorEvent event) { - partControl.setCurrentModelService(event.getModelServiceHolder() - .getModelService()); - } - - public void reportChanged(MediatorEvent event) { - } - - public void reportGeneratorChanged(MediatorEvent event) { - } - - public void setVisualizeMode(int mode) { - //do nothing - } - -}