mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-24 23:26:41 +00:00
95 lines
2.3 KiB
Objective-C
95 lines
2.3 KiB
Objective-C
#import "Window.h"
|
|
|
|
@implementation Window
|
|
|
|
@synthesize windowController, webView;
|
|
|
|
- (id) initWithWebView:(WebView*)view
|
|
{
|
|
if(self = [super init]) {
|
|
self.webView = view;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void) open:(NSDictionary *)properties
|
|
{
|
|
self.windowController = [[WindowController alloc] initWithURL:[properties valueForKey:@"url"]];
|
|
[self.windowController showWindow: [NSApplication sharedApplication].delegate];
|
|
[self.windowController.window makeKeyWindow];
|
|
}
|
|
|
|
- (void) minimize {
|
|
[[NSApp mainWindow] miniaturize:[NSApp mainWindow]];
|
|
}
|
|
|
|
- (void) toggleFullscreen {
|
|
[[NSApp mainWindow] toggleFullScreen:[NSApp mainWindow]];
|
|
}
|
|
|
|
- (void) maximize {
|
|
CGRect a = [NSApp mainWindow].frame;
|
|
_oldRestoreFrame = CGRectMake(a.origin.x, a.origin.y, a.size.width, a.size.height);
|
|
[[NSApp mainWindow] setFrame:[[NSScreen mainScreen] visibleFrame] display:YES];
|
|
}
|
|
|
|
- (Boolean) isMaximized {
|
|
NSRect a = [NSApp mainWindow].frame;
|
|
NSRect b = [[NSScreen mainScreen] visibleFrame];
|
|
return a.origin.x == b.origin.x && a.origin.y == b.origin.y && a.size.width == b.size.width && a.size.height == b.size.height;
|
|
}
|
|
|
|
- (CGFloat) getX {
|
|
NSRect frame = [self.webView window].frame;
|
|
return frame.origin.x;
|
|
}
|
|
|
|
- (CGFloat) getY {
|
|
NSRect frame = [self.webView window].frame;
|
|
return frame.origin.y;
|
|
}
|
|
|
|
- (void) move:(NSDictionary *)properties
|
|
{
|
|
NSRect frame = [self.webView window].frame;
|
|
frame.origin.x = [[properties valueForKey:@"x"] doubleValue];
|
|
frame.origin.y = [[properties valueForKey:@"y"] doubleValue];
|
|
[[self.webView window] setFrame:frame display:YES];
|
|
|
|
}
|
|
|
|
- (void) resize:(NSDictionary *) properties
|
|
{
|
|
NSRect frame = [self.webView window].frame;
|
|
frame.size.width = [[properties valueForKey:@"width"] doubleValue];
|
|
frame.size.height = [[properties valueForKey:@"height"] doubleValue];
|
|
[[self.webView window] setFrame:frame display:YES];
|
|
}
|
|
|
|
|
|
+ (BOOL) isSelectorExcludedFromWebScript:(SEL)selector
|
|
{
|
|
return NO;
|
|
}
|
|
|
|
+ (NSString*) webScriptNameForSelector:(SEL)selector{
|
|
id result = nil;
|
|
|
|
if (selector == @selector(open:)) {
|
|
result = @"open";
|
|
}else if (selector == @selector(move:)){
|
|
result = @"move";
|
|
}else if (selector == @selector(resize:)){
|
|
result = @"resize";
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
+ (BOOL) isKeyExcludedFromWebScript:(const char*)name
|
|
{
|
|
return YES;
|
|
}
|
|
|
|
@end
|