Merge branch 'readonly-p4-donut' into donut

This commit is contained in:
Raphael Moll
2009-04-14 16:59:10 -07:00
committed by The Android Open Source Project
3 changed files with 10 additions and 37 deletions

View File

@@ -33,12 +33,12 @@ class UiModelTreeContentProvider implements ITreeContentProvider {
/** The descriptor of the elements to be displayed as root in this tree view. All elements /** 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. */ * of the same type in the root will be displayed. */
private ElementDescriptor[] mDescriptorFilters; private ElementDescriptor[] mDescriptorFilters;
/** Object which provides the uiRootNode */ /** The uiRootNode of the model. */
private final UiRootNodeProvider mUiRootNodeProvider; private final UiElementNode mUiRootNode;
public UiModelTreeContentProvider(UiRootNodeProvider rootNodeProvider, public UiModelTreeContentProvider(UiElementNode uiRootNode,
ElementDescriptor[] descriptorFilters) { ElementDescriptor[] descriptorFilters) {
mUiRootNodeProvider = rootNodeProvider; mUiRootNode = uiRootNode;
mDescriptorFilters = descriptorFilters; mDescriptorFilters = descriptorFilters;
} }
@@ -86,9 +86,8 @@ class UiModelTreeContentProvider implements ITreeContentProvider {
*/ */
public Object[] getElements(Object inputElement) { public Object[] getElements(Object inputElement) {
ArrayList<UiElementNode> roots = new ArrayList<UiElementNode>(); ArrayList<UiElementNode> roots = new ArrayList<UiElementNode>();
UiElementNode uiRootNode = mUiRootNodeProvider.getRootNode(); if (mUiRootNode != null) {
if (uiRootNode != null) { for (UiElementNode ui_node : mUiRootNode.getUiChildren()) {
for (UiElementNode ui_node : uiRootNode.getUiChildren()) {
if (mDescriptorFilters == null || mDescriptorFilters.length == 0) { if (mDescriptorFilters == null || mDescriptorFilters.length == 0) {
roots.add(ui_node); roots.add(ui_node);
} else { } else {

View File

@@ -1,27 +0,0 @@
/*
* 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();
}

View File

@@ -83,8 +83,7 @@ import java.util.LinkedList;
* On the left is a details part that displays all the visible UI attributes for a given * On the left is a details part that displays all the visible UI attributes for a given
* selected UI element node. * selected UI element node.
*/ */
public final class UiTreeBlock extends MasterDetailsBlock public final class UiTreeBlock extends MasterDetailsBlock implements ICommitXml {
implements ICommitXml, UiRootNodeProvider {
/** Height hint for the tree view. Helps the grid layout resize properly on smaller screens. */ /** Height hint for the tree view. Helps the grid layout resize properly on smaller screens. */
private static final int TREE_HEIGHT_HINT = 50; private static final int TREE_HEIGHT_HINT = 50;
@@ -251,7 +250,7 @@ public final class UiTreeBlock extends MasterDetailsBlock
tree.setLayoutData(gd); tree.setLayoutData(gd);
mTreeViewer = new TreeViewer(tree); mTreeViewer = new TreeViewer(tree);
mTreeViewer.setContentProvider(new UiModelTreeContentProvider(this, mDescriptorFilters)); mTreeViewer.setContentProvider(new UiModelTreeContentProvider(mUiRootNode, mDescriptorFilters));
mTreeViewer.setLabelProvider(new UiModelTreeLabelProvider()); mTreeViewer.setLabelProvider(new UiModelTreeLabelProvider());
mTreeViewer.setInput("unused"); //$NON-NLS-1$ mTreeViewer.setInput("unused"); //$NON-NLS-1$
@@ -380,6 +379,8 @@ public final class UiTreeBlock extends MasterDetailsBlock
mUiRootNode = uiRootNode; mUiRootNode = uiRootNode;
mDescriptorFilters = descriptorFilters; mDescriptorFilters = descriptorFilters;
mTreeViewer.setContentProvider(new UiModelTreeContentProvider(mUiRootNode, mDescriptorFilters));
// Listen on structural changes on the root node of the tree // Listen on structural changes on the root node of the tree
// If the node has a parent, listen on the parent instead. // If the node has a parent, listen on the parent instead.
node = mUiRootNode.getUiParent() != null ? mUiRootNode.getUiParent() : mUiRootNode; node = mUiRootNode.getUiParent() != null ? mUiRootNode.getUiParent() : mUiRootNode;