19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.view; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.Activity; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.graphics.drawable.Drawable; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.AdapterView; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extension of {@link Menu} for context menus providing functionality to modify 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the header of the context menu. 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p> 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Context menus do not support item shortcuts and item icons. 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p> 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * To show a context menu on long click, most clients will want to call 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link Activity#registerForContextMenu} and override 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link Activity#onCreateContextMenu}. 32558459fe85f56f29a6ed6a4d0adb4a0bd6665884Joe Fernandez * 33558459fe85f56f29a6ed6a4d0adb4a0bd6665884Joe Fernandez * <div class="special reference"> 34558459fe85f56f29a6ed6a4d0adb4a0bd6665884Joe Fernandez * <h3>Developer Guides</h3> 35558459fe85f56f29a6ed6a4d0adb4a0bd6665884Joe Fernandez * <p>For information about creating menus, read the 36558459fe85f56f29a6ed6a4d0adb4a0bd6665884Joe Fernandez * <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a> developer guide.</p> 37558459fe85f56f29a6ed6a4d0adb4a0bd6665884Joe Fernandez * </div> 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface ContextMenu extends Menu { 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the context menu header's title to the title given in <var>titleRes</var> 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * resource identifier. 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param titleRes The string resource identifier used for the title. 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This ContextMenu so additional setters can be called. 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ContextMenu setHeaderTitle(int titleRes); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the context menu header's title to the title given in <var>title</var>. 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param title The character sequence used for the title. 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This ContextMenu so additional setters can be called. 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ContextMenu setHeaderTitle(CharSequence title); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the context menu header's icon to the icon given in <var>iconRes</var> 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * resource id. 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param iconRes The resource identifier used for the icon. 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This ContextMenu so additional setters can be called. 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ContextMenu setHeaderIcon(int iconRes); 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the context menu header's icon to the icon given in <var>icon</var> 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link Drawable}. 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param icon The {@link Drawable} used for the icon. 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This ContextMenu so additional setters can be called. 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ContextMenu setHeaderIcon(Drawable icon); 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the header of the context menu to the {@link View} given in 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <var>view</var>. This replaces the header title and icon (and those 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * replace this). 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param view The {@link View} used for the header. 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return This ContextMenu so additional setters can be called. 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ContextMenu setHeaderView(View view); 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Clears the header of the context menu. 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void clearHeader(); 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Additional information regarding the creation of the context menu. For example, 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link AdapterView}s use this to pass the exact item position within the adapter 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * that initiated the context menu. 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public interface ContextMenuInfo { 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 98