diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/DetailsPage.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/DetailsPage.java | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/DetailsPage.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/DetailsPage.java deleted file mode 100644 index 510898df9..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/DetailsPage.java +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.gltrace.views.detail; - -import com.android.ide.eclipse.gltrace.editors.GLCallGroups.GLCallNode; -import com.android.ide.eclipse.gltrace.editors.GLFunctionTraceViewer; -import com.android.ide.eclipse.gltrace.model.GLCall; -import com.android.ide.eclipse.gltrace.model.GLTrace; -import com.android.ide.eclipse.gltrace.state.IGLProperty; -import com.android.ide.eclipse.gltrace.views.StateView; - -import org.eclipse.jface.action.IContributionItem; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.TreeSelection; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.ISelectionListener; -import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.part.IPageSite; -import org.eclipse.ui.part.Page; - -import java.util.Arrays; -import java.util.List; - -public class DetailsPage extends Page implements ISelectionListener { - private GLTrace mTrace; - - private IToolBarManager mToolBarManager; - private Composite mTopComposite; - private StackLayout mStackLayout; - private Composite mBlankComposite; - - private List<IDetailProvider> mDetailProviders = Arrays.asList( - new ShaderSourceDetailsProvider(), - new ShaderUniformDetailsProvider(), - new TextureImageDetailsProvider(), - new VboDetailProvider(), - new GlDrawCallDetailProvider(), - new VertexAttribPointerDataDetailProvider()); - - public DetailsPage(GLTrace trace) { - mTrace = trace; - } - - public void setInput(GLTrace trace) { - mTrace = trace; - } - - @Override - public void createControl(Composite parent) { - mTopComposite = new Composite(parent, SWT.NONE); - mStackLayout = new StackLayout(); - mTopComposite.setLayout(mStackLayout); - mTopComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); - - mBlankComposite = new Composite(mTopComposite, SWT.NONE); - - mToolBarManager = getSite().getActionBars().getToolBarManager(); - - for (IDetailProvider provider : mDetailProviders) { - provider.createControl(mTopComposite); - - for (IContributionItem item: provider.getToolBarItems()) { - mToolBarManager.add(item); - } - } - - setDetailsProvider(null); - } - - private void setDetailsProvider(IDetailProvider provider) { - for (IContributionItem item: mToolBarManager.getItems()) { - item.setVisible(false); - } - - if (provider == null) { - setTopControl(mBlankComposite); - } else { - setTopControl(provider.getControl()); - - for (IContributionItem item: provider.getToolBarItems()) { - item.setVisible(true); - } - } - - mToolBarManager.update(true); - } - - private void setTopControl(Control c) { - mStackLayout.topControl = c; - mTopComposite.layout(); - } - - @Override - public Control getControl() { - return mTopComposite; - } - - @Override - public void init(IPageSite pageSite) { - super.init(pageSite); - pageSite.getPage().addSelectionListener(this); - } - - @Override - public void dispose() { - getSite().getPage().removeSelectionListener(this); - - for (IDetailProvider provider : mDetailProviders) { - provider.disposeControl(); - } - - super.dispose(); - } - - @Override - public void setFocus() { - } - - @Override - public void selectionChanged(IWorkbenchPart part, ISelection selection) { - if (part instanceof GLFunctionTraceViewer) { - GLCall selectedCall = getSelectedCall((GLFunctionTraceViewer) part, selection); - if (selectedCall == null) { - return; - } - - callSelected(selectedCall); - return; - } else if (part instanceof StateView) { - IGLProperty selectedProperty = getSelectedProperty((StateView) part, selection); - if (selectedProperty == null) { - return; - } - - stateVariableSelected(selectedProperty); - return; - } - - return; - } - - private void stateVariableSelected(IGLProperty property) { - for (IDetailProvider p : mDetailProviders) { - if (!(p instanceof IStateDetailProvider)) { - continue; - } - - IStateDetailProvider sp = (IStateDetailProvider) p; - if (sp.isApplicable(property)) { - sp.updateControl(property); - setDetailsProvider(sp); - return; - } - } - - setDetailsProvider(null); - return; - } - - private void callSelected(GLCall selectedCall) { - for (IDetailProvider p : mDetailProviders) { - if (!(p instanceof ICallDetailProvider)) { - continue; - } - - ICallDetailProvider cp = (ICallDetailProvider) p; - if (cp.isApplicable(selectedCall)) { - cp.updateControl(mTrace, selectedCall); - setDetailsProvider(cp); - return; - } - } - - setDetailsProvider(null); - return; - } - - private GLCall getSelectedCall(GLFunctionTraceViewer part, ISelection selection) { - if (part.getTrace() != mTrace) { - return null; - } - - if (!(selection instanceof TreeSelection)) { - return null; - } - - Object data = ((TreeSelection) selection).getFirstElement(); - if (data instanceof GLCallNode) { - return ((GLCallNode) data).getCall(); - } else { - return null; - } - } - - private IGLProperty getSelectedProperty(StateView view, ISelection selection) { - if (!(selection instanceof IStructuredSelection)) { - return null; - } - - IStructuredSelection ssel = (IStructuredSelection) selection; - @SuppressWarnings("rawtypes") - List objects = ssel.toList(); - if (objects.size() > 0) { - Object data = objects.get(0); - if (data instanceof IGLProperty) { - return (IGLProperty) data; - } - } - - return null; - } -} |