libui/redo/osxaltest/osxaltest.h

56 lines
1.3 KiB
C
Raw Normal View History

// 31 july 2015
#import <Cocoa/Cocoa.h>
2015-07-31 22:06:29 -05:00
#import <stdint.h>
typedef struct tAutoLayoutParams tAutoLayoutParams;
2015-08-02 17:43:50 -05:00
// TODO stretchy across both dimensions
// for a vertical box, the horizontal width should be variable
struct tAutoLayoutParams {
NSMutableArray *horz;
NSMutableArray *horzAttachLeft;
NSMutableArray *horzAttachRight;
BOOL horzFirst;
BOOL horzLast;
NSMutableArray *vert;
NSMutableArray *vertAttachTop;
NSMutableArray *vertAttachBottom;
BOOL vertFirst;
BOOL vertLast;
NSMutableDictionary *views;
uintmax_t n;
2015-08-02 17:54:33 -05:00
BOOL horzStretchy;
BOOL horzFirstStretchy;
uintmax_t horzStretchyTo;
BOOL vertStretchy;
BOOL vertFirstStretchy;
uintmax_t vertStretchyTo;
};
2015-07-31 22:06:29 -05:00
@protocol tControl
@required
- (void)tSetParent:(id<tControl>)p addToView:(NSView *)v relayout:(BOOL)relayout;
- (void)tFillAutoLayout:(tAutoLayoutParams *)p;
- (void)tRelayout;
2015-07-31 22:06:29 -05:00
@end
@interface tWindow : NSObject<tControl>
2015-08-01 13:22:45 -05:00
- (void)tSetControl:(id<tControl>)cc;
2015-08-01 14:44:06 -05:00
- (void)tSetMargined:(BOOL)m;
- (void)tShow;
@end
2015-08-01 13:22:45 -05:00
@interface tBox : NSObject<tControl>
- (id)tInitVertical:(BOOL)vert;
- (void)tAddControl:(id<tControl>)c stretchy:(BOOL)s;
@end
@interface tButton : NSObject<tControl>
- (id)tInitWithText:(NSString *)text;
@end
@interface tSpinbox : NSObject<tControl>
@end
2015-07-31 22:06:29 -05:00
extern NSString *tAutoLayoutKey(uintmax_t);