Merge branch 'readonly-p4-donut' into donut
This commit is contained in:
committed by
The Android Open Source Project
commit
09df5a7510
@@ -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 {
|
||||||
|
|||||||
@@ -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();
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user