/usr/include/GNUstep/AppKit/NSPopUpButtonCell.h is in libgnustep-gui-dev 0.24.0-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 | /*
NSPopUpButtonCell.h
Cell for Popup list class
Copyright (C) 1999 Free Software Foundation, Inc.
Author: Michael Hanni <mhanni@sprintmail.com>
Date: 1999
This file is part of the GNUstep GUI Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; see the file COPYING.LIB.
If not, see <http://www.gnu.org/licenses/> or write to the
Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef _GNUstep_H_NSPopUpButtonCell
#define _GNUstep_H_NSPopUpButtonCell
#import <AppKit/AppKitDefines.h>
#import <AppKit/NSMenuItem.h>
#import <AppKit/NSMenuItemCell.h>
@class NSString;
@class NSMenu;
@class NSView;
APPKIT_EXPORT NSString *NSPopUpButtonCellWillPopUpNotification;
typedef enum {
NSPopUpNoArrow = 0,
NSPopUpArrowAtCenter = 1,
NSPopUpArrowAtBottom = 2
} NSPopUpArrowPosition;
@interface NSPopUpButtonCell : NSMenuItemCell
{
id <NSMenuItem> _selectedItem;
struct __pbcFlags {
unsigned int pullsDown: 1;
unsigned int preferredEdge: 3;
unsigned int usesItemFromMenu: 1;
unsigned int altersStateOfSelectedItem: 1;
unsigned int arrowPosition: 2;
} _pbcFlags;
}
// Initialization
/**
* Initialize with stringValue and pullDown. If pullDown is YES, the
* reciever will be a pulldown button.
*/
- (id) initTextCell: (NSString*)stringValue pullsDown: (BOOL)flag;
// Selection processing
/**
* The currently selected item in the reciever.
*/
- (id <NSMenuItem>) selectedItem;
/**
* Index of the currently selected item in the reciever.
*/
- (NSInteger) indexOfSelectedItem;
/**
* Synchronizes the title and the selected item. This sets
* the selected item to the title of the reciever.
*/
- (void) synchronizeTitleAndSelectedItem;
/**
* Select item in the reciever.
*/
- (void) selectItem: (id <NSMenuItem>)item;
/**
* Select item at the given index.
*/
- (void) selectItemAtIndex: (NSInteger)index;
/**
* Select the item with the given title.
*/
- (void) selectItemWithTitle: (NSString*)title;
/**
* Set title to aString.
*/
- (void) setTitle: (NSString*)aString;
// Getters and setters.
/**
* Set the menu for the popup.
*/
- (void) setMenu: (NSMenu*)menu;
/**
* Return the menu for the popup.
*/
- (NSMenu*) menu;
/**
* Set to YES to make the popup button a pull-down style control.
*/
- (void) setPullsDown: (BOOL)flag;
/**
* Returns YES, if this is a pull-down
*/
- (BOOL) pullsDown;
/**
* Set to YES, if the items are to be autoenabled.
*/
- (void) setAutoenablesItems: (BOOL)flag;
/**
* Returns YES, if the items are autoenabled.
*/
- (BOOL) autoenablesItems;
/**
* Set the preferred edge as described by edge. This is used
* to determine the edge which will open the popup when the screen
* is small.
*/
- (void) setPreferredEdge: (NSRectEdge)preferredEdge;
/**
* Return the preferred edge.
*/
- (NSRectEdge) preferredEdge;
/**
* Set to YES, if the reciever should use a menu item for its title. YES
* is the default.
*/
- (void) setUsesItemFromMenu: (BOOL)flag;
/**
* Returns YES, if the reciever uses a menu item for its title.
*/
- (BOOL) usesItemFromMenu;
/**
* Set to YES, if the state of the menu item selected in the reciever
* should be changed when it's selected.
*/
- (void) setAltersStateOfSelectedItem: (BOOL)flag;
/**
* Return YES, if the reciever changes the state of the item chosen by
* the user.
*/
- (BOOL) altersStateOfSelectedItem;
/**
* Returns the current arrow position of the reciever.
*/
- (NSPopUpArrowPosition) arrowPosition;
/**
* Sets the current arrow position of the reciever.
*/
- (void) setArrowPosition: (NSPopUpArrowPosition)pos;
// Item management
/**
* Add an item to the popup with title.
*/
- (void) addItemWithTitle: (NSString*)title;
/**
* Add a number of items to the reciever using the provided itemTitles array.
*/
- (void) addItemsWithTitles: (NSArray*)titles;
/**
* Adds an item with the given title at index. If an item already exists at
* index, it, and all items after it are advanced one position. Index needs
* to be within the valid range for the array of items in the popup button.
*/
- (void) insertItemWithTitle: (NSString*)title atIndex: (NSInteger)index;
/**
* Remove a given item based on its title.
*/
- (void) removeItemWithTitle: (NSString*)title;
/**
* Remove a given item based on its index, must be a valid index within the
* range for the item array of this popup.
*/
- (void) removeItemAtIndex: (NSInteger)index;
/**
* Purges all items from the popup.
*/
- (void) removeAllItems;
// Referencing items...
/**
* Item array of the reciever.
*/
- (NSArray*) itemArray;
/**
* Number of items in the reciever.
*/
- (NSInteger) numberOfItems;
/**
* Return the index of item in the item array of the reciever.
*/
- (NSInteger) indexOfItem: (id<NSMenuItem>)item;
/**
* Return index of the item with the given title.
*/
- (NSInteger) indexOfItemWithTitle: (NSString*)title;
/**
* Return index of the item with a tag equal to aTag.
*/
- (NSInteger) indexOfItemWithTag: (NSInteger)tag;
/**
* Index of the item whose menu item's representedObject is equal to obj.
*/
- (NSInteger) indexOfItemWithRepresentedObject: (id)obj;
/**
* Index of the item in the reciever whose target and action
* are equal to aTarget and actionSelector.
*/
- (NSInteger) indexOfItemWithTarget: (id)aTarget andAction: (SEL)actionSelector;
/**
* Return the item at index.
*/
- (id <NSMenuItem>) itemAtIndex: (NSInteger)index;
/**
* Return the item with title.
*/
- (id <NSMenuItem>) itemWithTitle: (NSString*)title;
/**
* Return the item listed last in the reciever.
*/
- (id <NSMenuItem>) lastItem;
// Title management
/**
* Set item title at the given index in the reciever.
*/
- (NSString*) itemTitleAtIndex: (NSInteger)index;
/**
* Returns an array containing all of the current item titles.
*/
- (NSArray*) itemTitles;
/**
* Returns the title of the currently selected item in the reciever.
*/
- (NSString*) titleOfSelectedItem;
/**
* Attach popup
*/
- (void) attachPopUpWithFrame: (NSRect)cellFrame inView: (NSView*)controlView;
/**
* Dismiss the reciever.
*/
- (void) dismissPopUp;
/**
* Perform the click operation with the given frame and controlView.
*/
- (void) performClickWithFrame: (NSRect)frame inView: (NSView*)controlView;
@end
#endif // _GNUstep_H_NSPopUpButtonCell
|