// 16 august 2015 #import "uipriv_darwin.h" static uintmax_t type_uiDarwinControl = 0; uintmax_t uiDarwinControlType(void) { if (type_uiDarwinControl == 0) type_uiDarwinControl = uiRegisterType("uiDarwinControl", uiControlType(), sizeof (uiDarwinControl)); return type_uiDarwinControl; } void uiDarwinControlTriggerRelayout(uiDarwinControl *c) { uiControl *p; p = toplevelOwning(uiControl(c)); if (p == NULL) // not in a window return; c = uiDarwinControl(p); (*(c->Relayout))(uiDarwinControl(c)); } void osCommitShow(uiControl *c) { NSView *view; view = (NSView *) uiControlHandle(c); // TODO if ([view isKindOfClass:[NSWindow class]]) { [view makeKeyAndOrderFront:view]; return; } [view setHidden:NO]; } void osCommitHide(uiControl *c) { NSView *view; view = (NSView *) uiControlHandle(c); [view setHidden:YES]; } void osCommitEnable(uiControl *c) { NSControl *view; view = (NSControl *) uiControlHandle(c); if ([view respondsToSelector:@selector(setEnabled:)]) [view setEnabled:YES]; } void osCommitDisable(uiControl *c) { NSControl *view; view = (NSControl *) uiControlHandle(c); if ([view respondsToSelector:@selector(setEnabled:)]) [view setEnabled:NO]; } void uiDarwinFinishControl(uiControl *c) { NSView *view; view = (NSView *) uiControlHandle(c); [view retain]; // TODO omit this for uiWindow properly if ([view respondsToSelector:@selector(setTranslatesAutoresizingMaskIntoConstraints:)]) [view setTranslatesAutoresizingMaskIntoConstraints:NO]; } void uiDarwinSetControlFont(NSControl *c, NSControlSize size) { [c setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:size]]]; }