home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / OpenStepConversion / IntermediateFrameworks2 / AppKit.framework / Headers / NSWindow.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-01-23  |  10.0 KB  |  325 lines

  1. /*
  2.     Window.h
  3.     Application Kit, Release 2.0
  4.     Copyright (c) 1988, 1989, 1990, NeXT, Inc.  All rights reserved. 
  5. */
  6.  
  7. #import "NSResponder.h"
  8. #import "screens.h"
  9. #import "drag.h"
  10. #import "color.h"
  11. #import <objc/hashtable.h>
  12. #import "NSGraphics.h"
  13.  
  14. /* Window Types */
  15.  
  16. #define NX_PLAINSTYLE        0
  17. #define NX_TITLEDSTYLE        1
  18. #define NX_MENUSTYLE        2
  19. #define NX_MINIWINDOWSTYLE    3
  20. #define NX_MINIWORLDSTYLE    4
  21. #define NX_TOKENSTYLE        5
  22. #define NX_RESIZEBARSTYLE    6
  23. #define NX_SIZEBARSTYLE        NX_RESIZEBARSTYLE    /* historical */
  24.  
  25. #define NX_FIRSTWINSTYLE    NX_PLAINSTYLE
  26. #define NX_LASTWINSTYLE        NX_RESIZEBARSTYLE
  27. #define NX_NUMWINSTYLES        (NX_LASTWINSTYLE - NX_FIRSTWINSTYLE + 1)
  28.  
  29. #define NX_CLOSEBUTTONMASK        1
  30. #define NX_MINIATURIZEBUTTONMASK    4
  31.  
  32. extern NSSize NSIconSize;
  33. extern NSSize NSTokenSize;
  34.  
  35. /* Window Level Hierarchy */
  36.  
  37. enum {
  38.     NSNormalWindowLevel            = 0,
  39.     NSFloatingWindowLevel        = 3,
  40.     NSDockWindowLevel            = 5,
  41.     NSSubmenuWindowLevel        = 10,
  42.     NSMainMenuWindowLevel        = 20
  43. };
  44.  
  45.  
  46. @interface NSWindow : NSResponder
  47. {
  48.     NSRect              frame;
  49.     id                  contentView;
  50.     id                  delegate;
  51.     id                  firstResponder;
  52.     id                  lastLeftHit;
  53.     id                  lastRightHit;
  54.     id                  counterpart;
  55.     id                  fieldEditor;
  56.     int                 winEventMask;
  57.     int                 windowNum;
  58.     float               backgroundGray;
  59.     struct _wFlags {
  60. #ifdef __BIG_ENDIAN__
  61.     unsigned int        style:4;
  62.     unsigned int        backing:2;
  63.     unsigned int        buttonMask:3;
  64.     unsigned int        visible:1;
  65.     unsigned int        isMainWindow:1;
  66.     unsigned int        isKeyWindow:1;
  67.     unsigned int        isPanel:1;
  68.     unsigned int        hideOnDeactivate:1;
  69.     unsigned int        dontFreeWhenClosed:1;
  70.     unsigned int        oneShot:1;
  71. #else
  72.     unsigned int        oneShot:1;
  73.     unsigned int        dontFreeWhenClosed:1;
  74.     unsigned int        hideOnDeactivate:1;
  75.     unsigned int        isPanel:1;
  76.     unsigned int        isKeyWindow:1;
  77.     unsigned int        isMainWindow:1;
  78.     unsigned int        visible:1;
  79.     unsigned int        buttonMask:3;
  80.     unsigned int        backing:2;
  81.     unsigned int        style:4;
  82. #endif
  83.     }                   wFlags;
  84.     struct _wFlags2 {
  85. #ifdef __BIG_ENDIAN__
  86.     unsigned int        deferred:1;
  87.     unsigned int        _cursorRectsDisabled:1;
  88.     unsigned int        _haveFreeCursorRects:1;
  89.     unsigned int        _validCursorRects:1;
  90.     unsigned int        docEdited:1;
  91.     unsigned int        dynamicDepthLimit:1;
  92.     unsigned int        _worksWhenModal:1;
  93.     unsigned int        _limitedBecomeKey:1;
  94.     unsigned int        _needsFlush:1;
  95.     unsigned int        _newMiniIcon:1;
  96.     unsigned int        _ignoredFirstMouse:1;
  97.     unsigned int        _repostedFirstMouse:1;
  98.     unsigned int        _windowDying:1;
  99.     unsigned int        _tempHidden:1;
  100.     unsigned int        _hiddenOnDeactivate:1;
  101.     unsigned int        _floatingPanel:1;
  102. #else
  103.     unsigned int        _floatingPanel:1;
  104.     unsigned int        _hiddenOnDeactivate:1;
  105.     unsigned int        _tempHidden:1;
  106.     unsigned int        _windowDying:1;
  107.     unsigned int        _repostedFirstMouse:1;
  108.     unsigned int        _ignoredFirstMouse:1;
  109.     unsigned int        _RESERVED:1;
  110.     unsigned int        _needsFlush:1;
  111.     unsigned int        _limitedBecomeKey:1;
  112.     unsigned int        _worksWhenModal:1;
  113.     unsigned int        dynamicDepthLimit:1;
  114.     unsigned int        docEdited:1;
  115.     unsigned int        _validCursorRects:1;
  116.     unsigned int        _haveFreeCursorRects:1;
  117.     unsigned int        _cursorRectsDisabled:1;
  118.     unsigned int        deferred:1;
  119. #endif
  120.     }                   wFlags2;
  121.     id                  _borderView;
  122.     short               _displayDisabled;
  123.     short               _flushDisabled;
  124.     void               *_cursorRects;
  125.     NXHashTable        *_trectTable;
  126.     id                  _invalidCursorView;
  127.     id            _miniIcon;
  128.     void           *_private;
  129. }
  130.  
  131. + (NSRect)frameRectForContentRect:(NSRect)cRect style:(int)aStyle;
  132. + (NSRect)contentRectForFrameRect:(NSRect)fRect style:(int)aStyle;
  133. + (float)minFrameWidth:(NSString *)aTitle forStyle:(int)aStyle buttonMask:(int)aMask;
  134. + (NSWindowDepth)defaultDepthLimit;
  135.  
  136. - init;
  137. - initContent:(NSRect)contentRect style:(int)aStyle backing:(int)bufferingType buttonMask:(int)mask defer:(BOOL)flag;
  138. - initContent:(NSRect)contentRect style:(int)aStyle backing:(int)bufferingType buttonMask:(int)mask defer:(BOOL)flag screen:(const NXScreen *)screen;
  139. - (void)dealloc;
  140. - setTitle:(NSString *)aString;
  141. - setTitleAsFilename:(NSString *)aString;
  142. - setExcludedFromWindowsMenu:(BOOL)flag;
  143. - (BOOL)isExcludedFromWindowsMenu;
  144. - setContentView:aView;
  145. - contentView;
  146. - setDelegate:anObject;
  147. - delegate;
  148. - (NSString *)title;
  149. - (int)buttonMask;
  150. - (int)windowNum;
  151. - getFieldEditor:(BOOL)createFlag for:anObject;
  152. - endEditingFor:anObject;
  153. - placeWindowAndDisplay:(NSRect)frameRect;
  154. - placeWindow:(NSRect)frameRect;
  155. - placeWindow:(NSRect)frameRect screen:(const NXScreen *)screen;
  156. - (NSRect)constrainFrameRect:(NSRect)frameRect;
  157. - setContentSize:(NSSize)_contentSize;
  158. - setFrameOrigin:(NSPoint)_newOrigin;
  159. - setFrameTopLeftPoint:(NSPoint)_newTopLeft;
  160. - moveTo:(float)x :(float)y screen:(const NXScreen *)screen;
  161. - moveTopLeftTo:(float)x :(float)y screen:(const NXScreen *)screen;
  162. - (NSRect)frame;
  163. - getFrame:(NSRect *)rect andScreen:(const NXScreen **)screen;
  164. - (NSPoint)mouseLocation;
  165. - (int)style;
  166. - useOptimizedDrawing:(BOOL)flag;
  167. - disableFlushWindow;
  168. - reenableFlushWindow;
  169. - (BOOL)isFlushWindowDisabled;
  170. - flushWindow;
  171. - flushWindowIfNeeded;
  172. - disableDisplay;
  173. - reenableDisplay;
  174. - (BOOL)isDisplayEnabled;
  175. - displayIfNeeded;
  176. - display;
  177. - update;
  178. - (int)setEventMask:(int)newMask;
  179. - (int)addToEventMask:(int)newEvents;
  180. - (int)removeFromEventMask:(int)oldEvents;
  181. - (int)eventMask;
  182. - setTrackingRect:(NSRect)aRect inside:(BOOL)insideFlag owner:anObject tag:(int)trackNum left:(BOOL)leftDown right:(BOOL)rightDown;
  183. - discardTrackingRect:(int)trackNum;
  184. - makeFirstResponder:aResponder;
  185. - firstResponder;
  186. - sendEvent:(NXEvent *)theEvent;
  187. - windowExposed:(NXEvent *)theEvent;
  188. - windowMoved:(NXEvent *)theEvent;
  189. - screenChanged:(NXEvent *)theEvent;
  190. - (int)resizeFlags;
  191. - makeKeyWindow;
  192. - becomeKeyWindow;
  193. - resignKeyWindow;
  194. - becomeMainWindow;
  195. - resignMainWindow;
  196. - displayBorder;
  197. - rightMouseDown:(NXEvent *)theEvent;
  198. - (BOOL)commandKey:(NXEvent *)theEvent;
  199. - close;
  200. - setFreeWhenClosed:(BOOL)flag;
  201. - miniaturize:sender;
  202. - deminiaturize:sender;
  203. - (BOOL)tryToPerform:(SEL)anAction with:anObject;
  204. - validRequestorForSendType:(NSString *)sendType andReturnType:(NSString *)returnType;
  205. - setBackgroundGray:(float)value;
  206. - (float)backgroundGray;
  207. - setBackgroundColor:(NXColor)color;
  208. - (NXColor)backgroundColor;
  209. - dragFromPoint:(NSPoint)point eventNumber:(int)num;
  210. - setHideOnDeactivate:(BOOL)flag;
  211. - (BOOL)doesHideOnDeactivate;
  212. - center;
  213. - makeKeyAndOrderFront:sender;
  214. - orderFront:sender;
  215. - orderBack:sender;
  216. - orderOut:sender;
  217. - orderWindow:(int)place relativeTo:(int)otherWin;
  218. - orderFrontRegardless;
  219. - setMiniwindowImage:(NSImage *)image;
  220. - setMiniwindowTitle:(NSString *)title;
  221. - (NSImage *)miniwindowImage;
  222. - (NSString *)miniwindowTitle;
  223. - setDocEdited:(BOOL)flag;
  224. - (BOOL)isDocEdited;
  225. - (BOOL)isVisible;
  226. - (BOOL)isKeyWindow;
  227. - (BOOL)isMainWindow;
  228. - (BOOL)canBecomeKeyWindow;
  229. - (BOOL)canBecomeMainWindow;
  230. - (BOOL)worksWhenModal;
  231. - (NSPoint)convertBaseToScreen:(NSPoint)aPoint;
  232. - (NSPoint)convertScreenToBase:(NSPoint)aPoint;
  233. - performClose:sender;
  234. - performMiniaturize:sender;
  235. - (int)gState;
  236. - setOneShot:(BOOL)flag;
  237. - (BOOL)isOneShot;
  238. - faxPSCode:sender;
  239. - printPSCode:sender;
  240. - (NSData *)dataWithEPSInsideRect:(NSRect)rect;
  241. - smartFaxPSCode:sender;
  242. - smartPrintPSCode:sender;
  243. - (BOOL)knowsPagesFirst:(int *)firstPageNum last:(int *)lastPageNum;
  244. - openSpoolFile:(char *)filename;
  245. - beginPSOutput;
  246. - beginPrologueBBox:(NSRect)boundingBox creationDate:(NSString *)dateCreated createdBy:(NSString *)anApplication fonts:(NSString *)fontNames forWhom:(NSString *)user pages:(int)numPages title:(NSString *)aTitle;
  247. - endHeaderComments;
  248. - endPrologue;
  249. - beginSetup;
  250. - endSetup;
  251. - beginPage:(int)ordinalNum label:(NSString *)aString bBox:(NSRect)pageRect fonts:(NSString *)fontNames;
  252. - beginPageSetupRect:(NSRect)aRect placement:(NSPoint)location;
  253. - endPageSetup;
  254. - endPage;
  255. - beginTrailer;
  256. - endTrailer;
  257. - endPSOutput;
  258. - spoolFile:(NSString *)filename;
  259. - (float)heightAdjustLimit;
  260. - (float)widthAdjustLimit;
  261. - (NSRect)rectForPage;
  262. - placePrintRect:(NSRect)aRect offset:(NSPoint)location;
  263. - addCursorRect:(NSRect)aRect cursor:anObj forView:aView;
  264. - removeCursorRect:(NSRect)aRect cursor:anObj forView:aView;
  265. - disableCursorRects;
  266. - enableCursorRects;
  267. - discardCursorRects;
  268. - invalidateCursorRectsForView:aView;
  269. - resetCursorRects;
  270. - setBackingType:(int)bufferingType;
  271. - (int)backingType;
  272. - setAvoidsActivation:(BOOL)flag;
  273. - (BOOL)avoidsActivation;
  274. - setDepthLimit:(NSWindowDepth)limit;
  275. - (NSWindowDepth)depthLimit;
  276. - setDynamicDepthLimit:(BOOL)flag;
  277. - (BOOL)hasDynamicDepthLimit;
  278. - (const NXScreen *)screen;
  279. - (const NXScreen *)bestScreen;
  280. - (BOOL)canStoreColor;
  281. - counterpart;
  282.  
  283. - (NSString *)stringWithSavedFrame;
  284. - (void)setFrameFromString:(NSString *)string;
  285. - (void)saveFrameUsingName:(NSString *)name;
  286. - (BOOL)setFrameUsingName:(NSString *)name;
  287. - (BOOL)setFrameAutosaveName:(NSString *)name;
  288. - (NSString *)frameAutosaveName;
  289. + (void)removeFrameUsingName:(NSString *)name;
  290.  
  291. - (NSSize)minSize;
  292. - (NSSize)maxSize;
  293. - setMinSize:(NSSize)size;
  294. - setMaxSize:(NSSize)size;
  295.  
  296. @end
  297.  
  298.  
  299. @interface NSWindow(Drag)
  300. - dragImage:anImage at:(NSPoint)baseLocation offset:(NSSize)initialOffset event:(NXEvent *)event pasteboard:(NSPasteboard *)pboard source:sourceObj slideBack:(BOOL)slideFlag;
  301.  
  302. - registerForDraggedTypes:(NSArray *)newTypes;
  303. - unregisterDraggedTypes;
  304. @end
  305.  
  306.  
  307. @interface NSObject(WindowDelegate)
  308. - windowWillClose:sender;
  309. - windowWillReturnFieldEditor:sender toObject:client;
  310. - (NSSize)windowWillResize:sender toSize:(NSSize)frameSize;
  311. - windowDidResize:sender;
  312. - windowDidExpose:sender;
  313. - windowWillMove:sender;
  314. - windowDidMove:sender;
  315. - windowDidBecomeKey:sender;
  316. - windowDidResignKey:sender;
  317. - windowDidBecomeMain:sender;
  318. - windowDidResignMain:sender;
  319. - windowWillMiniaturize:sender toMiniwindow:miniwindow;
  320. - windowDidMiniaturize:sender;
  321. - windowDidDeminiaturize:sender;
  322. - windowDidUpdate:sender;
  323. - windowDidChangeScreen:sender;
  324. @end
  325.