44 lines
965 B
Mathematica
44 lines
965 B
Mathematica
|
// 14 august 2015
|
||
|
#import "uipriv_darwin.h"
|
||
|
|
||
|
struct uiLabel {
|
||
|
uiDarwinControl c;
|
||
|
NSTextField *textfield;
|
||
|
};
|
||
|
|
||
|
uiDarwinDefineControl(
|
||
|
uiLabel, // type name
|
||
|
uiLabelType, // type function
|
||
|
textfield // handle
|
||
|
)
|
||
|
|
||
|
char *uiLabelText(uiLabel *l)
|
||
|
{
|
||
|
return uiDarwinNSStringToText([l->textfield stringValue]);
|
||
|
}
|
||
|
|
||
|
void uiLabelSetText(uiLabel *l, const char *text)
|
||
|
{
|
||
|
[l->textfield setStringValue:toNSString(text)];
|
||
|
// changing the text might necessitate a change in the label's size
|
||
|
uiDarwinControlTriggerRelayout(uiDarwinControl(l));
|
||
|
}
|
||
|
|
||
|
uiLabel *uiNewLabel(const char *text)
|
||
|
{
|
||
|
uiLabel *l;
|
||
|
|
||
|
l = (uiLabel *) uiNewControl(uiLabelType());
|
||
|
|
||
|
l->textfield = [[NSTextField alloc] initWithFrame:NSZeroRect];
|
||
|
[l->textfield setStringValue:toNSString(text)];
|
||
|
[l->textfield setEditable:NO];
|
||
|
[l->textfield setSelectable:NO];
|
||
|
[l->textfield setDrawsBackground:NO];
|
||
|
finishNewTextField(l->textfield, NO);
|
||
|
|
||
|
uiDarwinFinishNewControl(l, uiLabel);
|
||
|
|
||
|
return l;
|
||
|
}
|