aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ListViewTypeMenu.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ListViewTypeMenu.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ListViewTypeMenu.java220
1 files changed, 0 insertions, 220 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ListViewTypeMenu.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ListViewTypeMenu.java
deleted file mode 100644
index 4577f8d12..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/ListViewTypeMenu.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (C) 2011 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.adt.internal.editors.layout.gle2;
-
-import static com.android.SdkConstants.ANDROID_LAYOUT_RESOURCE_PREFIX;
-import static com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutMetadata.KEY_LV_FOOTER;
-import static com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutMetadata.KEY_LV_HEADER;
-import static com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutMetadata.KEY_LV_ITEM;
-
-import com.android.annotations.NonNull;
-import com.android.annotations.Nullable;
-import com.android.ide.common.rendering.api.Capability;
-import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate;
-import com.android.ide.eclipse.adt.internal.editors.layout.uimodel.UiViewElementNode;
-import com.android.ide.eclipse.adt.internal.resources.CyclicDependencyValidator;
-import com.android.ide.eclipse.adt.internal.ui.ResourceChooser;
-import com.android.resources.ResourceType;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Menu;
-import org.w3c.dom.Node;
-
-/**
- * "Preview List Content" context menu which lists available data types and layouts
- * the user can choose to view the ListView as.
- */
-public class ListViewTypeMenu extends SubmenuAction {
- /** Associated canvas */
- private final LayoutCanvas mCanvas;
- /** When true, this menu is for a grid rather than a simple list */
- private boolean mGrid;
- /** When true, this menu is for a spinner rather than a simple list */
- private boolean mSpinner;
-
- /**
- * Creates a "Preview List Content" menu
- *
- * @param canvas associated canvas
- * @param isGrid whether the menu is for a grid rather than a list
- * @param isSpinner whether the menu is for a spinner rather than a list
- */
- public ListViewTypeMenu(LayoutCanvas canvas, boolean isGrid, boolean isSpinner) {
- super(isGrid ? "Preview Grid Content" : isSpinner ? "Preview Spinner Layout"
- : "Preview List Content");
- mCanvas = canvas;
- mGrid = isGrid;
- mSpinner = isSpinner;
- }
-
- @Override
- protected void addMenuItems(Menu menu) {
- GraphicalEditorPart graphicalEditor = mCanvas.getEditorDelegate().getGraphicalEditor();
- if (graphicalEditor.renderingSupports(Capability.ADAPTER_BINDING)) {
- IAction action = new PickLayoutAction("Choose Layout...", KEY_LV_ITEM);
- new ActionContributionItem(action).fill(menu, -1);
- new Separator().fill(menu, -1);
-
- String selected = getSelectedLayout();
- if (selected != null) {
- if (selected.startsWith(ANDROID_LAYOUT_RESOURCE_PREFIX)) {
- selected = selected.substring(ANDROID_LAYOUT_RESOURCE_PREFIX.length());
- }
- }
-
- if (mSpinner) {
- action = new SetListTypeAction("Spinner Item",
- "simple_spinner_item", selected); //$NON-NLS-1$
- new ActionContributionItem(action).fill(menu, -1);
- action = new SetListTypeAction("Spinner Dropdown Item",
- "simple_spinner_dropdown_item", selected); //$NON-NLS-1$
- new ActionContributionItem(action).fill(menu, -1);
- return;
- }
-
- action = new SetListTypeAction("Simple List Item",
- "simple_list_item_1", selected); //$NON-NLS-1$
- new ActionContributionItem(action).fill(menu, -1);
- action = new SetListTypeAction("Simple 2-Line List Item",
- "simple_list_item_2", //$NON-NLS-1$
- selected);
- new ActionContributionItem(action).fill(menu, -1);
- action = new SetListTypeAction("Checked List Item",
- "simple_list_item_checked", //$NON-NLS-1$
- selected);
- new ActionContributionItem(action).fill(menu, -1);
- action = new SetListTypeAction("Single Choice List Item",
- "simple_list_item_single_choice", //$NON-NLS-1$
- selected);
- new ActionContributionItem(action).fill(menu, -1);
- action = new SetListTypeAction("Multiple Choice List Item",
- "simple_list_item_multiple_choice", //$NON-NLS-1$
- selected);
- if (!mGrid) {
- new Separator().fill(menu, -1);
- action = new SetListTypeAction("Simple Expandable List Item",
- "simple_expandable_list_item_1", selected); //$NON-NLS-1$
- new ActionContributionItem(action).fill(menu, -1);
- action = new SetListTypeAction("Simple 2-Line Expandable List Item",
- "simple_expandable_list_item_2", //$NON-NLS-1$
- selected);
- new ActionContributionItem(action).fill(menu, -1);
-
- new Separator().fill(menu, -1);
- action = new PickLayoutAction("Choose Header...", KEY_LV_HEADER);
- new ActionContributionItem(action).fill(menu, -1);
- action = new PickLayoutAction("Choose Footer...", KEY_LV_FOOTER);
- new ActionContributionItem(action).fill(menu, -1);
- }
- } else {
- // Should we just hide the menu item instead?
- addDisabledMessageItem(
- "Not supported for this SDK version; try changing the Render Target");
- }
- }
-
- private class SetListTypeAction extends Action {
- private final String mLayout;
-
- public SetListTypeAction(String title, String layout, String selected) {
- super(title, IAction.AS_RADIO_BUTTON);
- mLayout = layout;
-
- if (layout.equals(selected)) {
- setChecked(true);
- }
- }
-
- @Override
- public void run() {
- if (isChecked()) {
- setNewType(KEY_LV_ITEM, ANDROID_LAYOUT_RESOURCE_PREFIX + mLayout);
- }
- }
- }
-
- /**
- * Action which brings up a resource chooser to choose an arbitrary layout as the
- * layout to be previewed in the list.
- */
- private class PickLayoutAction extends Action {
- private final String mType;
-
- public PickLayoutAction(String title, String type) {
- super(title, IAction.AS_PUSH_BUTTON);
- mType = type;
- }
-
- @Override
- public void run() {
- LayoutEditorDelegate delegate = mCanvas.getEditorDelegate();
- IFile file = delegate.getEditor().getInputFile();
- GraphicalEditorPart editor = delegate.getGraphicalEditor();
- ResourceChooser dlg = ResourceChooser.create(editor, ResourceType.LAYOUT)
- .setInputValidator(CyclicDependencyValidator.create(file))
- .setInitialSize(85, 10)
- .setCurrentResource(getSelectedLayout());
- int result = dlg.open();
- if (result == ResourceChooser.CLEAR_RETURN_CODE) {
- setNewType(mType, null);
- } else if (result == Window.OK) {
- String newType = dlg.getCurrentResource();
- setNewType(mType, newType);
- }
- }
- }
-
- @Nullable
- private String getSelectedLayout() {
- String layout = null;
- SelectionManager selectionManager = mCanvas.getSelectionManager();
- for (SelectionItem item : selectionManager.getSelections()) {
- UiViewElementNode node = item.getViewInfo().getUiViewNode();
- if (node != null) {
- Node xmlNode = node.getXmlNode();
- layout = LayoutMetadata.getProperty(xmlNode, KEY_LV_ITEM);
- if (layout != null) {
- return layout;
- }
- }
- }
-
- return null;
- }
-
- private void setNewType(@NonNull String type, @Nullable String layout) {
- LayoutEditorDelegate delegate = mCanvas.getEditorDelegate();
- GraphicalEditorPart graphicalEditor = delegate.getGraphicalEditor();
- SelectionManager selectionManager = mCanvas.getSelectionManager();
-
- for (SelectionItem item : selectionManager.getSnapshot()) {
- UiViewElementNode node = item.getViewInfo().getUiViewNode();
- if (node != null) {
- Node xmlNode = node.getXmlNode();
- LayoutMetadata.setProperty(delegate.getEditor(), xmlNode, type, layout);
- }
- }
-
- // Refresh
- graphicalEditor.recomputeLayout();
- mCanvas.redraw();
- }
-}