home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-Developer.iso / NextLibrary / Frameworks / AppKit.framework / Versions / B / Headers / NSBrowser.h < prev    next >
Text File  |  1996-10-17  |  6KB  |  190 lines

  1. /*
  2.     NSBrowser.h
  3.     Application Kit
  4.     Copyright (c) 1994-1996, NeXT Software, Inc.
  5.     All rights reserved.
  6. */
  7.  
  8. #import <AppKit/NSControl.h>
  9.  
  10. @class NSClipView;
  11. @class NSMatrix;
  12. @class NSScroller;
  13.  
  14. typedef struct __Brflags {
  15. #ifdef __BIG_ENDIAN__
  16.     unsigned int        allowsMultipleSelection:1;
  17.     unsigned int        allowsBranchSelection:1;
  18.     unsigned int        reuseColumns:1;
  19.     unsigned int        isTitled:1;
  20.     unsigned int        titleFromPrevious:1;
  21.     unsigned int        separateColumns:1;
  22.     unsigned int        delegateImplementsWillDisplayCell:1;
  23.     unsigned int        delegateSetsTitles:1;
  24.     unsigned int        delegateSelectsCellsByString:1;
  25.     unsigned int        delegateDoesNotCreateRowsInMatrix:1;
  26.     unsigned int        delegateValidatesColumns:1;
  27.     unsigned int        acceptArrowKeys:1;
  28.     unsigned int        dontDrawTitles:1;
  29.     unsigned int        sendActionOnArrowKeys:1;
  30.     unsigned int        prohibitEmptySel:1;
  31.     unsigned int        hasHorizontalScroller:1;
  32.     unsigned int        time:1;
  33.     unsigned int        allowsIncrementalSearching:1;
  34.     unsigned int        delegateSelectsCellsByRow:1;
  35.     unsigned int        disableCompositing:6;
  36.     unsigned int        refusesFirstResponder:1;
  37.     unsigned int        RESERVED:6;
  38. #else
  39.     unsigned int        RESERVED:6;
  40.     unsigned int        refusesFirstResponder:1;
  41.     unsigned int        disableCompositing:6;
  42.     unsigned int        delegateSelectsCellsByRow:1;
  43.     unsigned int        allowsIncrementalSearching:1;
  44.     unsigned int        time:1;
  45.     unsigned int        hasHorizontalScroller:1;
  46.     unsigned int        prohibitEmptySel:1;
  47.     unsigned int        sendActionOnArrowKeys:1;
  48.     unsigned int        dontDrawTitles:1;
  49.     unsigned int        acceptArrowKeys:1;
  50.     unsigned int        delegateValidatesColumns:1;
  51.     unsigned int        delegateDoesNotCreateRowsInMatrix:1;
  52.     unsigned int        delegateSelectsCellsByString:1;
  53.     unsigned int        delegateSetsTitles:1;
  54.     unsigned int        delegateImplementsWillDisplayCell:1;
  55.     unsigned int        separateColumns:1;
  56.     unsigned int        titleFromPrevious:1;
  57.     unsigned int        isTitled:1;
  58.     unsigned int        reuseColumns:1;
  59.     unsigned int        allowsBranchSelection:1;
  60.     unsigned int        allowsMultipleSelection:1;
  61. #endif
  62. } _Brflags;
  63.  
  64.  
  65. @interface NSBrowser : NSControl
  66. {
  67.     id                  _target;
  68.     SEL                 _action;
  69.     id                  _delegate;
  70.     SEL                 _doubleAction;
  71.     Class               _matrixClass;
  72.     id                  _cellPrototype;
  73.     NSSize        _columnSize;
  74.     short        _numberOfVisibleColumns;
  75.     short        _minColumnWidth;
  76.     short        _firstVisibleColumn;
  77.     short        _maxVisibleColumns;
  78.     NSMutableArray    *_titles;
  79.     NSString        *_pathSeparator;
  80.     NSMutableArray    *_columns;
  81.     NSMutableArray    *_unusedColumns;
  82.     NSString        *_firstColumnTitle;
  83.     NSScroller        *_scroller;
  84.     _Brflags            _brflags;
  85. }
  86.  
  87. + (Class)cellClass;
  88.  
  89. - (void)loadColumnZero;
  90. - (BOOL)isLoaded;
  91.  
  92. - (void)setDoubleAction:(SEL)aSelector;
  93. - (SEL)doubleAction;
  94. - (void)setMatrixClass:(Class)factoryId;
  95. - (Class)matrixClass;
  96. - (void)setCellClass:(Class)factoryId;
  97. - (void)setCellPrototype:(NSCell *)aCell;
  98. - (id)cellPrototype;
  99. - (void)setDelegate:(id)anObject;
  100. - (id)delegate;
  101. - (void)setReusesColumns:(BOOL)flag;
  102. - (BOOL)reusesColumns;
  103.  
  104. - (void)setHasHorizontalScroller:(BOOL)flag;
  105. - (BOOL)hasHorizontalScroller;
  106. - (void)setSeparatesColumns:(BOOL)flag;
  107. - (BOOL)separatesColumns;
  108. - (void)setTitled:(BOOL)flag;
  109. - (BOOL)isTitled;
  110. - (void)setMinColumnWidth:(float)columnWidth;
  111. - (float)minColumnWidth;
  112. - (void)setMaxVisibleColumns:(int)columnCount;
  113. - (int)maxVisibleColumns;
  114.  
  115. - (void)setAllowsMultipleSelection:(BOOL)flag;
  116. - (BOOL)allowsMultipleSelection;
  117. - (void)setAllowsBranchSelection:(BOOL)flag;
  118. - (BOOL)allowsBranchSelection;
  119. - (void)setAllowsEmptySelection:(BOOL)flag;
  120. - (BOOL)allowsEmptySelection;
  121. - (void)setTakesTitleFromPreviousColumn:(BOOL)flag;
  122. - (BOOL)takesTitleFromPreviousColumn;
  123.  
  124. - (void)setAcceptsArrowKeys:(BOOL)flag;
  125. - (BOOL)acceptsArrowKeys;
  126. - (void)setSendsActionOnArrowKeys:(BOOL)flag;
  127. - (BOOL)sendsActionOnArrowKeys;
  128.  
  129. - (void)setTitle:(NSString *)aString ofColumn:(int)column;
  130. - (NSString *)titleOfColumn:(int)column;
  131. - (void)setPathSeparator:(NSString *)newString;
  132. - (NSString *)pathSeparator;
  133. - (BOOL)setPath:(NSString *)path;
  134. - (NSString *)path;
  135. - (NSString *)pathToColumn:(int)column;
  136. - (int)selectedColumn;
  137. - (id)selectedCell;
  138. - (id)selectedCellInColumn:(int)column;
  139. - (NSArray *)selectedCells;
  140. - (void)selectRow:(int)row inColumn:(int)column;
  141. - (int)selectedRowInColumn:(int)column;
  142.  
  143. - (void)reloadColumn:(int)column;
  144. - (void)validateVisibleColumns;
  145. - (void)displayColumn:(int)column;
  146. - (void)displayAllColumns;
  147. - (void)scrollColumnsRightBy:(int)shiftAmount;
  148. - (void)scrollColumnsLeftBy:(int)shiftAmount;
  149. - (void)scrollColumnToVisible:(int)column;
  150. - (void)scrollViaScroller:(NSScroller *)sender;
  151. - (void)updateScroller;
  152. - (void)setLastColumn:(int)column;
  153. - (int)lastColumn;
  154. - (void)addColumn;
  155. - (int)numberOfVisibleColumns;
  156. - (int)firstVisibleColumn;
  157. - (int)lastVisibleColumn;
  158. - (int)columnOfMatrix:(NSMatrix *)matrix;
  159. - (NSMatrix *)matrixInColumn:(int)column;
  160. - (id)loadedCellAtRow:(int)row column:(int)col;
  161. - (void)selectAll:(id)sender;
  162. - (void)tile;
  163. - (void)doClick:(id)sender;
  164. - (void)doDoubleClick:(id)sender;
  165. - (BOOL)sendAction;
  166.  
  167. - (NSRect)titleFrameOfColumn:(int)column;
  168. - (void)drawTitleOfColumn:(int)column inRect:(NSRect)aRect;
  169. - (float)titleHeight;
  170. - (NSRect)frameOfColumn:(int)column;
  171. - (NSRect)frameOfInsideOfColumn:(int)column;
  172.  
  173. @end
  174.  
  175. @interface NSObject(NSBrowserDelegate)
  176. /* Exactly one of the following two methods is required */
  177. - (int)browser:(NSBrowser *)sender numberOfRowsInColumn:(int)column;
  178. - (void)browser:(NSBrowser *)sender createRowsForColumn:(int)column inMatrix:(NSMatrix *)matrix;
  179.  
  180. - (void)browser:(NSBrowser *)sender willDisplayCell:(id)cell atRow:(int)row column:(int)column;
  181.  
  182. - (NSString *)browser:(NSBrowser *)sender titleOfColumn:(int)column;
  183. - (BOOL)browser:(NSBrowser *)sender selectCellWithString:(NSString *)title inColumn:(int)column;
  184. - (BOOL)browser:(NSBrowser *)sender selectRow:(int)row inColumn:(int)column;
  185. - (BOOL)browser:(NSBrowser *)sender isColumnValid:(int)column;
  186. - (void)browserWillScroll:(NSBrowser *)sender;
  187. - (void)browserDidScroll:(NSBrowser *)sender;
  188. @end
  189.  
  190.