1{ Parsed from AppKit.framework NSControl.h }
2
3
4{$ifdef TYPES}
5type
6  NSControlPtr = ^NSControl;
7  NSControlTextEditingDelegateProtocolPtr = ^NSControlTextEditingDelegateProtocol;
8{$endif}
9
10{$ifdef CLASSES}
11
12type
13  NSControl = objcclass external (NSView)
14  private
15    _aux: NSControlAuxiliary;
16    _cell: id;
17    _conFlags: bitpacked record
18      case byte of
19        0: (_anonBitField__conFlags0: cuint);
20        1: (
21          enabled: 0..1;
22          ignoreMultiClick: 0..1;
23          calcSize_: 0..1;
24          drawingAncestor: 0..1;
25          ibReserved: 0..1;
26          updateCellFocus: 0..1;
27          allowsLogicalLayoutDirection: 0..1;
28          asmlwidth: 0..1;
29          hsmlwidth: 0..1;
30          dontValidate: 0..1;
31          reserved: 0..((1 shl 22)-1);
32        );
33      end;
34  public
35    procedure setTarget(newValue: id); message 'setTarget:';
36    function target: id; message 'target';
37    procedure setAction(newValue: SEL); message 'setAction:';
38    function action: SEL; message 'action';
39    procedure setTag(newValue: NSInteger); message 'setTag:';
40    function tag: NSInteger; message 'tag';
41    procedure setIgnoresMultiClick(newValue: ObjCBOOL); message 'setIgnoresMultiClick:';
42    function ignoresMultiClick: ObjCBOOL; message 'ignoresMultiClick';
43    procedure setContinuous(newValue: ObjCBOOL); message 'setContinuous:';
44    function isContinuous: ObjCBOOL; message 'isContinuous';
45    procedure setEnabled(newValue: ObjCBOOL); message 'setEnabled:';
46    function isEnabled: ObjCBOOL; message 'isEnabled';
47    procedure setRefusesFirstResponder(newValue: ObjCBOOL); message 'setRefusesFirstResponder:';
48    function refusesFirstResponder: ObjCBOOL; message 'refusesFirstResponder';
49    procedure setHighlighted(newValue: ObjCBOOL); message 'setHighlighted:';
50    function isHighlighted: ObjCBOOL; message 'isHighlighted';
51    procedure setControlSize(newValue: NSControlSize); message 'setControlSize:';
52    function controlSize: NSControlSize; message 'controlSize';
53    procedure setFormatter(newValue: id); message 'setFormatter:';
54    function formatter: id; message 'formatter';
55    procedure setStringValue(newValue: NSString); message 'setStringValue:';
56    function stringValue: NSString; message 'stringValue';
57    procedure setAttributedStringValue(newValue: NSAttributedString); message 'setAttributedStringValue:';
58    function attributedStringValue: NSAttributedString; message 'attributedStringValue';
59    procedure setObjectValue(newValue: id); message 'setObjectValue:';
60    function objectValue: id; message 'objectValue';
61    procedure setIntValue(newValue: cint); message 'setIntValue:';
62    function intValue: cint; message 'intValue';
63    procedure setIntegerValue(newValue: NSInteger); message 'setIntegerValue:';
64    function integerValue: NSInteger; message 'integerValue';
65    procedure setFloatValue(newValue: single); message 'setFloatValue:';
66    function floatValue: single; message 'floatValue';
67    procedure setDoubleValue(newValue: double); message 'setDoubleValue:';
68    function doubleValue: double; message 'doubleValue';
69    function sizeThatFits (size: NSSize): NSSize; message 'sizeThatFits:'; { available in 10_10 }
70    function initWithFrame (frameRect: NSRect): instancetype; message 'initWithFrame:'; { NS_DESIGNATED_INITIALIZER }
71    function initWithCoder (coder: NSCoder): instancetype; message 'initWithCoder:'; { NS_DESIGNATED_INITIALIZER }
72    procedure sizeToFit; message 'sizeToFit';
73    function sendActionOn (mask: NSInteger): NSInteger; message 'sendActionOn:';
74    function sendAction_to (theAction: SEL; theTarget: id): ObjCBOOL; message 'sendAction:to:';
75    procedure takeIntValueFrom (sender: id); message 'takeIntValueFrom:';
76    procedure takeFloatValueFrom (sender: id); message 'takeFloatValueFrom:';
77    procedure takeDoubleValueFrom (sender: id); message 'takeDoubleValueFrom:';
78    procedure takeStringValueFrom (sender: id); message 'takeStringValueFrom:';
79    procedure takeObjectValueFrom (sender: id); message 'takeObjectValueFrom:';
80    procedure takeIntegerValueFrom (sender: id); message 'takeIntegerValueFrom:'; { available in 10_5 }
81    procedure mouseDown (theEvent: NSEvent); message 'mouseDown:';
82  end;
83
84
85type
86  NSControl_NSKeyboardUI = objccategory external name 'NSKeyboardUI' (NSControl)
87    procedure performClick (sender: id); message 'performClick:';
88    procedure setRefusesFirstResponder (flag: ObjCBOOL); message 'setRefusesFirstResponder:';
89    function refusesFirstResponder_: ObjCBOOL; message 'refusesFirstResponder';
90  end;
91
92type
93  NSControlTextMethods = objccategory external (NSControl)
94    procedure setAlignment(newValue: NSTextAlignment); message 'setAlignment:';
95    function alignment: NSTextAlignment; message 'alignment';
96    procedure setFont(newValue: NSFont); message 'setFont:';
97    function font: NSFont; message 'font';
98    procedure setLineBreakMode(newValue: NSLineBreakMode); message 'setLineBreakMode:';
99    function lineBreakMode: NSLineBreakMode; message 'lineBreakMode';
100    procedure setUsesSingleLineMode(newValue: ObjCBOOL); message 'setUsesSingleLineMode:';
101    function usesSingleLineMode: ObjCBOOL; message 'usesSingleLineMode';
102    procedure setBaseWritingDirection(newValue: NSWritingDirection); message 'setBaseWritingDirection:';
103    function baseWritingDirection: NSWritingDirection; message 'baseWritingDirection';
104    procedure setAllowsExpansionToolTips(newValue: ObjCBOOL); message 'setAllowsExpansionToolTips:';
105    function allowsExpansionToolTips: ObjCBOOL; message 'allowsExpansionToolTips';
106    function expansionFrameWithFrame (contentFrame: NSRect): NSRect; message 'expansionFrameWithFrame:'; { available in 10_10 }
107    procedure drawWithExpansionFrame_inView (contentFrame: NSRect; view: NSView); message 'drawWithExpansionFrame:inView:'; { available in 10_10 }
108  end;
109
110type
111  NSControlEditableTextMethods = objccategory external (NSControl)
112    function currentEditor: NSText; message 'currentEditor';
113    function abortEditing: ObjCBOOL; message 'abortEditing';
114    procedure validateEditing; message 'validateEditing';
115    procedure editWithFrame_editor_delegate_event (aRect: NSRect; textObj: NSText; anObject: id; theEvent: NSEvent); message 'editWithFrame:editor:delegate:event:'; { available in 10_10 }
116    procedure selectWithFrame_editor_delegate_start_length (aRect: NSRect; textObj: NSText; anObject: id; selStart: NSInteger; selLength: NSInteger); message 'selectWithFrame:editor:delegate:start:length:'; { available in 10_10 }
117    procedure endEditing (textObj: NSText); message 'endEditing:'; { available in 10_10 }
118  end;
119
120type
121  NSControlSubclassNotifications = objccategory external (NSObject)
122    procedure controlTextDidBeginEditing (obj: NSNotification); message 'controlTextDidBeginEditing:';
123    procedure controlTextDidEndEditing (obj: NSNotification); message 'controlTextDidEndEditing:';
124    procedure controlTextDidChange (obj: NSNotification); message 'controlTextDidChange:';
125  end;
126{$endif}
127
128{$ifdef PROTOCOLS}
129
130type
131  NSControlTextEditingDelegateProtocol = objcprotocol external name 'NSControlTextEditingDelegate' (NSObjectProtocol)
132  optional
133    function control_textShouldBeginEditing (control: NSControl; fieldEditor: NSText): ObjCBOOL; message 'control:textShouldBeginEditing:';
134    function control_textShouldEndEditing (control: NSControl; fieldEditor: NSText): ObjCBOOL; message 'control:textShouldEndEditing:';
135    function control_didFailToFormatString_errorDescription (control: NSControl; string_: NSString; error: NSString): ObjCBOOL; message 'control:didFailToFormatString:errorDescription:';
136    procedure control_didFailToValidatePartialString_errorDescription (control: NSControl; string_: NSString; error: NSString); message 'control:didFailToValidatePartialString:errorDescription:';
137    function control_isValidObject (control: NSControl; obj: id): ObjCBOOL; message 'control:isValidObject:';
138    function control_textView_doCommandBySelector (control: NSControl; textView: NSTextView; commandSelector: SEL): ObjCBOOL; message 'control:textView:doCommandBySelector:';
139    function control_textView_completions_forPartialWordRange_indexOfSelectedItem (control: NSControl; textView: NSTextView; words: NSArray; charRange: NSRange; index: NSIntegerPtr): NSArray; message 'control:textView:completions:forPartialWordRange:indexOfSelectedItem:';
140  end;
141{$endif}
142
143{$ifdef EXTERNAL_SYMBOLS}
144var
145  NSControlTextDidBeginEditingNotification: NSString; cvar; external;
146  NSControlTextDidEndEditingNotification: NSString; cvar; external;
147  NSControlTextDidChangeNotification: NSString; cvar; external;
148{$endif}
149
150{$ifdef CLASSES}
151
152type
153  NSControl_NSDeprecated = objccategory external name 'NSDeprecated' (NSControl)
154    procedure setFloatingPointFormat_left_right (autoRange: ObjCBOOL; leftDigits: NSUInteger; rightDigits: NSUInteger); message 'setFloatingPointFormat:left:right:'; deprecated 'in 10_0, 10_0';
155    class procedure setCellClass (factoryId: pobjc_class); message 'setCellClass:';
156    class function cellClass: pobjc_class; message 'cellClass';
157    function cell: id; message 'cell';
158    procedure setCell (aCell: NSCell); message 'setCell:';
159    function selectedCell: id; message 'selectedCell';
160    function selectedTag: NSInteger; message 'selectedTag';
161		{$ifndef LEGACY_SETNEEDSDISPLAY}
162		procedure setNeedsDisplay_; message 'setNeedsDisplay';
163		{$else}
164		procedure setNeedsDisplay; message 'setNeedsDisplay';
165		{$endif}
166    procedure calcSize; message 'calcSize';
167    procedure updateCell (aCell: NSCell); message 'updateCell:';
168    procedure updateCellInside (aCell: NSCell); message 'updateCellInside:';
169    procedure drawCellInside (aCell: NSCell); message 'drawCellInside:';
170    procedure drawCell (aCell: NSCell); message 'drawCell:';
171    procedure selectCell (aCell: NSCell); message 'selectCell:';
172  end;
173{$endif}
174
175