/** The descriptor of the elements to be displayed as root in this tree view. All elements
* of the same type in the root will be displayed. */
private ElementDescriptor[] mDescriptorFilters;
- /** Object which provides the uiRootNode */
- private final UiRootNodeProvider mUiRootNodeProvider;
+ /** The uiRootNode of the model. */
+ private final UiElementNode mUiRootNode;
- public UiModelTreeContentProvider(UiRootNodeProvider rootNodeProvider,
+ public UiModelTreeContentProvider(UiElementNode uiRootNode,
ElementDescriptor[] descriptorFilters) {
- mUiRootNodeProvider = rootNodeProvider;
+ mUiRootNode = uiRootNode;
mDescriptorFilters = descriptorFilters;
}
*/
public Object[] getElements(Object inputElement) {
ArrayList<UiElementNode> roots = new ArrayList<UiElementNode>();
- UiElementNode uiRootNode = mUiRootNodeProvider.getRootNode();
- if (uiRootNode != null) {
- for (UiElementNode ui_node : uiRootNode.getUiChildren()) {
+ if (mUiRootNode != null) {
+ for (UiElementNode ui_node : mUiRootNode.getUiChildren()) {
if (mDescriptorFilters == null || mDescriptorFilters.length == 0) {
roots.add(ui_node);
} else {
+++ /dev/null
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php
- *
- * 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.editors.ui.tree;
-
-import com.android.ide.eclipse.editors.uimodel.UiElementNode;
-
-/**
- * An object that can provide a uiRootNode.
- */
-public interface UiRootNodeProvider {
- /** Returns the UiDocumentNode for the current model. */
- public abstract UiElementNode getRootNode();
-}
* On the left is a details part that displays all the visible UI attributes for a given
* selected UI element node.
*/
-public final class UiTreeBlock extends MasterDetailsBlock
- implements ICommitXml, UiRootNodeProvider {
+public final class UiTreeBlock extends MasterDetailsBlock implements ICommitXml {
/** Height hint for the tree view. Helps the grid layout resize properly on smaller screens. */
private static final int TREE_HEIGHT_HINT = 50;
tree.setLayoutData(gd);
mTreeViewer = new TreeViewer(tree);
- mTreeViewer.setContentProvider(new UiModelTreeContentProvider(this, mDescriptorFilters));
+ mTreeViewer.setContentProvider(new UiModelTreeContentProvider(mUiRootNode, mDescriptorFilters));
mTreeViewer.setLabelProvider(new UiModelTreeLabelProvider());
mTreeViewer.setInput("unused"); //$NON-NLS-1$
mUiRootNode = uiRootNode;
mDescriptorFilters = descriptorFilters;
+ mTreeViewer.setContentProvider(new UiModelTreeContentProvider(mUiRootNode, mDescriptorFilters));
+
// Listen on structural changes on the root node of the tree
// If the node has a parent, listen on the parent instead.
node = mUiRootNode.getUiParent() != null ? mUiRootNode.getUiParent() : mUiRootNode;