This file is indexed.

/usr/include/GNUstep/AppKit/NSPopUpButtonCell.h is in libgnustep-gui-dev 0.22.0-1ubuntu2.

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.
 */
- (int) 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: (int)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: (int)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: (int)index; 

/**
 * Purges all items from the popup.
 */
- (void) removeAllItems;
    
// Referencing items...
/**
 * Item array of the reciever.
 */ 
- (NSArray*) itemArray;

/**
 * Number of items in the reciever.
 */
- (int) numberOfItems;
 
/**
 * Return the index of item in the item array of the reciever.
 */
- (int) indexOfItem: (id<NSMenuItem>)item;

/**
 * Return index of the item with the given title.
 */
- (int) indexOfItemWithTitle: (NSString*)title;

/**
 * Return index of the item with a tag equal to aTag.
 */
- (int) indexOfItemWithTag: (int)tag;

/**
 * Index of the item whose menu item's representedObject is equal to obj.
 */
- (int) indexOfItemWithRepresentedObject: (id)obj;

/**
 * Index of the item in the reciever whose target and action
 * are equal to aTarget and actionSelector.
 */
- (int) indexOfItemWithTarget: (id)aTarget andAction: (SEL)actionSelector;

/**
 * Return the item at index.
 */ 
- (id <NSMenuItem>) itemAtIndex: (int)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: (int)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