|
| 1 | +// |
| 2 | +// DBPrefsWindowController.h |
| 3 | +// |
| 4 | +// Created by Dave Batton |
| 5 | +// http://www.Mere-Mortal-Software.com/blog/ |
| 6 | +// |
| 7 | +// Documentation for this class is available here: |
| 8 | +// http://www.mere-mortal-software.com/blog/details.php?d=2007-03-11 |
| 9 | +// |
| 10 | +// Copyright 2007. Some rights reserved. |
| 11 | +// This work is licensed under a Creative Commons license: |
| 12 | +// http://creativecommons.org/licenses/by/3.0/ |
| 13 | +// |
| 14 | +// 11 March 2007 : Initial 1.0 release |
| 15 | +// 15 March 2007 : Version 1.1 |
| 16 | +// Resizing is now handled along with the cross-fade by |
| 17 | +// the NSViewAnimation routine. |
| 18 | +// Cut the fade time in half to speed up the window resize. |
| 19 | +// -setupToolbar is now called each time the window opens so |
| 20 | +// you can configure it differently each time if you want. |
| 21 | +// Holding down the shift key will now slow down the animation. |
| 22 | +// This can be disabled by using the new -setShiftSlowsAnimation: |
| 23 | +// method. |
| 24 | +// 23 March 2007 : Version 1.1.1 |
| 25 | +// The initial first responder now gets set when the view is |
| 26 | +// swapped so that the user can tab to the objects displayed |
| 27 | +// in the window. |
| 28 | +// Also added a work-around to Cocoa's insistance on drawing |
| 29 | +// a focus ring around the first toolbar icon when going from |
| 30 | +// a view with a focusable item to a view without a focusable item. |
| 31 | +// |
| 32 | +// 31 May 2007 : Version 1.1.2 |
| 33 | +// The window's title bar and toolbar heights are now calculated at |
| 34 | +// runtime, rather than being hard-coded. |
| 35 | +// Fixed a redraw problem and a window placement problem associated |
| 36 | +// with large preference windows. |
| 37 | +// Added some code to supress compiler warnings from unused parameters. |
| 38 | +// Fixed a couple of objects that weren't being properly released. |
| 39 | +// |
| 40 | + |
| 41 | + |
| 42 | +#import <Cocoa/Cocoa.h> |
| 43 | + |
| 44 | + |
| 45 | +@interface DBPrefsWindowController : NSWindowController { |
| 46 | + NSMutableArray *toolbarIdentifiers; |
| 47 | + NSMutableDictionary *toolbarViews; |
| 48 | + NSMutableDictionary *toolbarItems; |
| 49 | + |
| 50 | + BOOL _crossFade; |
| 51 | + BOOL _shiftSlowsAnimation; |
| 52 | + |
| 53 | + NSView *contentSubview; |
| 54 | + NSViewAnimation *viewAnimation; |
| 55 | +} |
| 56 | + |
| 57 | + |
| 58 | ++ (DBPrefsWindowController *)sharedPrefsWindowController; |
| 59 | ++ (NSString *)nibName; |
| 60 | + |
| 61 | +- (void)setupToolbar; |
| 62 | +- (void)addView:(NSView *)view label:(NSString *)label; |
| 63 | +- (void)addView:(NSView *)view label:(NSString *)label image:(NSImage *)image; |
| 64 | + |
| 65 | +- (BOOL)crossFade; |
| 66 | +- (void)setCrossFade:(BOOL)fade; |
| 67 | +- (BOOL)shiftSlowsAnimation; |
| 68 | +- (void)setShiftSlowsAnimation:(BOOL)slows; |
| 69 | + |
| 70 | +- (void)displayViewForIdentifier:(NSString *)identifier animate:(BOOL)animate; |
| 71 | +- (void)crossFadeView:(NSView *)oldView withView:(NSView *)newView; |
| 72 | +- (NSRect)frameForView:(NSView *)view; |
| 73 | + |
| 74 | + |
| 75 | +@end |
0 commit comments