-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUCImageBrowserWindow.m
More file actions
67 lines (50 loc) · 1.7 KB
/
UCImageBrowserWindow.m
File metadata and controls
67 lines (50 loc) · 1.7 KB
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
//
// UCImageBrowserWindow.m
// Chain
//
// Created by Christoph on 05.03.2010.
// Copyright 2010 Useless Coding. All rights reserved.
//
#import "UCImageBrowserWindow.h"
@implementation UCImageBrowserWindow
- (void)setImage:(NSImage *)image
{
[pictureView setImage:image];
}
#pragma mark Actions
- (void)invertImage:(id)sender
{
}
- (IBAction)toggleAnimation:(id)sender;
{
[pictureView setAnimates:![pictureView animates]];
}
- (IBAction)toggleSizeToFit:(id)sender;
{
// FIXME: Add Scrolling
[pictureView setImageScaling:([pictureView imageScaling]==NSImageScaleNone)?NSImageScaleProportionallyDown:NSImageScaleNone];
}
#pragma mark Validation
- (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)anItem
{
if([anItem action]==@selector(toggleAnimation:) && [(NSObject *)anItem isKindOfClass:[NSMenuItem class]])
{
[(NSMenuItem *)anItem setState:[pictureView animates]?NSOnState:NSOffState];
}
else if([anItem action]==@selector(toggleSizeToFit:) && [(NSObject *)anItem isKindOfClass:[NSMenuItem class]])
{
[(NSMenuItem *)anItem setState:([pictureView imageScaling]==NSImageScaleNone)?NSOffState:NSOnState];
}
return YES;
}
#pragma mark Window Delegate
- (NSRect)windowWillUseStandardFrame:(NSWindow *)aWindow defaultFrame:(NSRect)defaultFrame
{
NSRect currentFrame = [aWindow frame];
CGFloat oldHeight=currentFrame.size.height;
currentFrame.size.width = currentFrame.size.width-[pictureView frame].size.width+[[pictureView image] size].width;
currentFrame.size.height = currentFrame.size.height-[pictureView frame].size.height+[[pictureView image] size].height;
currentFrame.origin.y = currentFrame.origin.y+oldHeight - currentFrame.size.height;
return currentFrame;
}
@end