aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/DetailsPage.java
diff options
context:
space:
mode:
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.java232
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;
- }
-}