diff options
Diffstat (limited to 'new/container_darwin.m')
| -rw-r--r-- | new/container_darwin.m | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/new/container_darwin.m b/new/container_darwin.m deleted file mode 100644 index 485298e..0000000 --- a/new/container_darwin.m +++ /dev/null @@ -1,85 +0,0 @@ -// 4 august 2014 -#import "uipriv_darwin.h" - -// calling -[className] on the content views of NSWindow, NSTabItem, and NSBox all return NSView, so I'm assuming I just need to override these -// fornunately: -// - NSWindow resizing calls -[setFrameSize:] (but not -[setFrame:]) -// - NSTab resizing calls both -[setFrame:] and -[setFrameSIze:] on the current tab -// - NSTab switching tabs calls both -[setFrame:] and -[setFrameSize:] on the new tab -// so we just override setFrameSize: -// thanks to mikeash and JtRip in irc.freenode.net/#macdev -@implementation uiContainer { - BOOL uimargined; -} - -uiLogObjCClassAllocations - -- (void)viewDidMoveToSuperview -{ - if ([self superview] == destroyedControlsView) - if (self.uiChild != NULL) { - uiControlDestroy(self.uiChild); - self.uiChild = NULL; - } - [super viewDidMoveToSuperview]; -} - -- (void)setFrameSize:(NSSize)s -{ - [super setFrameSize:s]; - [self uiUpdateNow]; -} - -// These are based on measurements from Interface Builder. -// These seem to be based on Auto Layout constants, but I don't see an API that exposes these... -#define macXMargin 20 -#define macYMargin 20 -// This one is 8 for most pairs of controls that I've tried; the only difference is between two pushbuttons, where it's 12... -#define macXPadding 8 -// Likewise, this one appears to be 12 for pairs of push buttons... -#define macYPadding 8 - -- (void)uiUpdateNow -{ - uiSizing d; - intmax_t x, y, width, height; - - if (self.uiChild == NULL) - return; - x = [self bounds].origin.x; - y = [self bounds].origin.y; - width = [self bounds].size.width; - height = [self bounds].size.height; - if (self->uimargined) { - x += macXMargin; - y += macYMargin; - width -= 2 * macXMargin; - height -= 2 * macYMargin; - } - d.xPadding = macXPadding; - d.yPadding = macYPadding; - uiControlResize(self.uiChild, x, y, width, height, &d); -} - -- (BOOL)uiMargined -{ - return self->uimargined; -} - -- (void)uiSetMargined:(BOOL)margined -{ - self->uimargined = margined; - [self uiUpdateNow]; -} - -@end - -void updateParent(uintptr_t parent) -{ - uiContainer *c; - - if (parent == 0) - return; - c = (uiContainer *) parent; - [c uiUpdateNow]; -} |
