diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/StateView.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/StateView.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/StateView.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/StateView.java new file mode 100644 index 000000000..eff2fefaf --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/StateView.java @@ -0,0 +1,57 @@ +/* + * 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; + +import com.android.ide.eclipse.gltrace.editors.GLFunctionTraceViewer; +import com.android.ide.eclipse.gltrace.editors.StateViewPage; + +import org.eclipse.ui.IWorkbenchPart; + +/** + * The StateView shows the GL state for the current active {@link GLFunctionTraceViewer}. + * It behaves like the Eclipse Outline View: Each active editor provides the GL state content + * to show via a {@link StateViewPage}. This class simply acts as a stack view showing the + * state corresponding to whichever editor is active. + */ +public class StateView extends GLPageBookView { + public static final String ID = "com.android.ide.eclipse.gltrace.views.State"; //$NON-NLS-1$ + + public StateView() { + super("Open (or select) a GL Trace file to view the GL State."); + } + + @Override + protected PageRec doCreatePage(IWorkbenchPart part) { + if (!(part instanceof GLFunctionTraceViewer)) { + return null; + } + + GLFunctionTraceViewer viewer = (GLFunctionTraceViewer) part; + StateViewPage page = viewer.getStateViewPage(); + initPage(page); + page.createControl(getPageBook()); + + return new PageRec(part, page); + } + + @Override + protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) { + StateViewPage v = (StateViewPage) pageRecord.page; + v.dispose(); + pageRecord.dispose(); + } +} |