Merge branch 'readonly-p4-master'
This commit is contained in:
committed by
The Android Open Source Project
commit
6618c0165d
@@ -322,7 +322,6 @@ public final class ManifestEditor extends AndroidEditor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
AndroidManifestDescriptors manifestDescriptor = getManifestDescriptors();
|
AndroidManifestDescriptors manifestDescriptor = getManifestDescriptors();
|
||||||
|
|
||||||
if (manifestDescriptor != null) {
|
if (manifestDescriptor != null) {
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ import java.util.Arrays;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A selection dialog to select the type of the new element node to
|
* A selection dialog to select the type of the new element node to
|
||||||
* created, either in the application node or the selected sub node.
|
* create, either in the application node or the selected sub node.
|
||||||
*/
|
*/
|
||||||
public class NewItemSelectionDialog extends AbstractElementListSelectionDialog {
|
public class NewItemSelectionDialog extends AbstractElementListSelectionDialog {
|
||||||
|
|
||||||
|
|||||||
@@ -30,16 +30,15 @@ import java.util.ArrayList;
|
|||||||
*/
|
*/
|
||||||
class UiModelTreeContentProvider implements ITreeContentProvider {
|
class UiModelTreeContentProvider implements ITreeContentProvider {
|
||||||
|
|
||||||
/** The root {@link UiElementNode} which contains all the elements that are to be
|
|
||||||
* manipulated by this tree view. In general this is the manifest UI node. */
|
|
||||||
private UiElementNode mUiRootNode;
|
|
||||||
/** 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 */
|
||||||
|
private final UiRootNodeProvider mUiRootNodeProvider;
|
||||||
|
|
||||||
public UiModelTreeContentProvider(UiElementNode uiRootNode,
|
public UiModelTreeContentProvider(UiRootNodeProvider rootNodeProvider,
|
||||||
ElementDescriptor[] descriptorFilters) {
|
ElementDescriptor[] descriptorFilters) {
|
||||||
mUiRootNode = uiRootNode;
|
mUiRootNodeProvider = rootNodeProvider;
|
||||||
mDescriptorFilters = descriptorFilters;
|
mDescriptorFilters = descriptorFilters;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,8 +86,9 @@ 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>();
|
||||||
if (mUiRootNode != null) {
|
UiElementNode uiRootNode = mUiRootNodeProvider.getRootNode();
|
||||||
for (UiElementNode ui_node : mUiRootNode.getUiChildren()) {
|
if (uiRootNode != null) {
|
||||||
|
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 {
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* 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,7 +83,8 @@ 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 implements ICommitXml {
|
public final class UiTreeBlock extends MasterDetailsBlock
|
||||||
|
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;
|
||||||
@@ -181,6 +182,17 @@ public final class UiTreeBlock extends MasterDetailsBlock implements ICommitXml
|
|||||||
return mMasterPart;
|
return mMasterPart;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the {@link UiElementNode} for the current model.
|
||||||
|
* <p/>
|
||||||
|
* This is used by the content provider attached to {@link #mTreeViewer} since
|
||||||
|
* the uiRootNode changes after each call to
|
||||||
|
* {@link #changeRootAndDescriptors(UiElementNode, ElementDescriptor[], boolean)}.
|
||||||
|
*/
|
||||||
|
public UiElementNode getRootNode() {
|
||||||
|
return mUiRootNode;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void createMasterPart(final IManagedForm managedForm, Composite parent) {
|
protected void createMasterPart(final IManagedForm managedForm, Composite parent) {
|
||||||
FormToolkit toolkit = managedForm.getToolkit();
|
FormToolkit toolkit = managedForm.getToolkit();
|
||||||
@@ -239,8 +251,7 @@ public final class UiTreeBlock extends MasterDetailsBlock implements ICommitXml
|
|||||||
tree.setLayoutData(gd);
|
tree.setLayoutData(gd);
|
||||||
|
|
||||||
mTreeViewer = new TreeViewer(tree);
|
mTreeViewer = new TreeViewer(tree);
|
||||||
mTreeViewer.setContentProvider(new UiModelTreeContentProvider(
|
mTreeViewer.setContentProvider(new UiModelTreeContentProvider(this, mDescriptorFilters));
|
||||||
mUiRootNode, mDescriptorFilters));
|
|
||||||
mTreeViewer.setLabelProvider(new UiModelTreeLabelProvider());
|
mTreeViewer.setLabelProvider(new UiModelTreeLabelProvider());
|
||||||
mTreeViewer.setInput("unused"); //$NON-NLS-1$
|
mTreeViewer.setInput("unused"); //$NON-NLS-1$
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user