summaryrefslogtreecommitdiff
path: root/packages/cocoaint/src/appkit/NSViewController.inc
blob: 1625b045d937299645570087ada68c74c3f9dbec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
{ Parsed from AppKit.framework NSViewController.h }


{$ifdef TYPES}
type
  NSViewControllerPtr = ^NSViewController;
  NSViewControllerPresentationAnimatorProtocolPtr = ^NSViewControllerPresentationAnimatorProtocol;
{$endif}

{$ifdef TYPES}
type
  NSViewControllerTransitionOptions = NSUInteger;
  NSViewControllerTransitionOptionsPtr = ^NSViewControllerTransitionOptions;

const
  NSViewControllerTransitionNone = $0;
  NSViewControllerTransitionCrossfade = $1;
  NSViewControllerTransitionSlideUp = $10;
  NSViewControllerTransitionSlideDown = $20;
  NSViewControllerTransitionSlideLeft = $40;
  NSViewControllerTransitionSlideRight = $80;
  NSViewControllerTransitionSlideForward = $140;
  NSViewControllerTransitionSlideBackward = $180;
  NSViewControllerTransitionAllowUserInteraction = $1000;
{$endif}

{$ifdef CLASSES}

type
  NSViewController = objcclass external (NSResponder, NSCodingProtocol, NSSeguePerformingProtocol, NSUserInterfaceItemIdentificationProtocol)
  private
    _nibName: NSString;
    _nibBundle: NSBundle;
    _representedObject: id;
    _title: NSString;
    _view: NSView;
    _topLevelObjects: NSArray;
    _editors: NSPointerArray;
    _autounbinder: id;
    _designNibBundleIdentifier: NSString;
    __privateData: id;
    _anonStruct_NSViewController0: record
      case byte of
        0: (anonBitField_NSViewController0: cuint);
        1: (data: bitpacked record
          _viewIsAppearing: 0..1;
          _delayViewDidAppear: 0..1;
          _isContentViewController: 0..1;
          _reserved: 0..((1 shl 29)-1);
        end;
      );
          end;
  public
    function initWithNibName_bundle (nibNameOrNil: NSString; nibBundleOrNil: NSBundle): instancetype; message 'initWithNibName:bundle:'; { NS_DESIGNATED_INITIALIZER }
    function initWithCoder (coder: NSCoder): instancetype; message 'initWithCoder:'; { NS_DESIGNATED_INITIALIZER }
    function nibName: NSString; message 'nibName';
    function nibBundle: NSBundle; message 'nibBundle';
    procedure setRepresentedObject(newValue: id); message 'setRepresentedObject:';
    function representedObject: id; message 'representedObject';
    procedure setTitle(newValue: NSString); message 'setTitle:';
    function title: NSString; message 'title';
    procedure setView(newValue: NSView); message 'setView:';
    function view: NSView; message 'view';
    procedure loadView; message 'loadView';
    procedure commitEditingWithDelegate_didCommitSelector_contextInfo (delegate: id; didCommitSelector: SEL; contextInfo: pointer); message 'commitEditingWithDelegate:didCommitSelector:contextInfo:';
    function commitEditing: ObjCBOOL; message 'commitEditing';
    procedure discardEditing; message 'discardEditing';
    procedure viewDidLoad; message 'viewDidLoad'; { available in 10_10 }
    function isViewLoaded: ObjCBOOL; message 'isViewLoaded';
    procedure viewWillAppear; message 'viewWillAppear'; { available in 10_10 }
    procedure viewDidAppear; message 'viewDidAppear'; { available in 10_10 }
    procedure viewWillDisappear; message 'viewWillDisappear'; { available in 10_10 }
    procedure viewDidDisappear; message 'viewDidDisappear'; { available in 10_10 }
    procedure setPreferredContentSize(newValue: NSSize); message 'setPreferredContentSize:';
    function preferredContentSize: NSSize; message 'preferredContentSize';
    procedure updateViewConstraints; message 'updateViewConstraints'; { available in 10_10 }
    procedure viewWillLayout; message 'viewWillLayout'; { available in 10_10 }
    procedure viewDidLayout; message 'viewDidLayout'; { available in 10_10 }

    { Adopted protocols }
    procedure setIdentifier(newValue: NSString); message 'setIdentifier:';
    function identifier: NSString; message 'identifier';
    procedure performSegueWithIdentifier_sender (identifier: NSString; sender: id); message 'performSegueWithIdentifier:sender:'; { available in 10_10 }
    procedure prepareForSegue_sender (segue: NSStoryboardSegue; sender: id); message 'prepareForSegue:sender:'; { available in 10_10 }
    function shouldPerformSegueWithIdentifier_sender (identifier: NSString; sender: id): ObjCBOOL; message 'shouldPerformSegueWithIdentifier:sender:'; { available in 10_10 }
  end;


type
  NSViewControllerPresentation = objccategory external (NSViewController)
    procedure presentViewController_animator (viewController: NSViewController; animator: NSViewControllerPresentationAnimatorProtocol); message 'presentViewController:animator:'; { available in 10_10 }
    procedure dismissViewController (viewController: NSViewController); message 'dismissViewController:'; { available in 10_10 }
    procedure dismissController (sender: id); message 'dismissController:'; { available in 10_10 }
    function presentedViewControllers: NSArray; message 'presentedViewControllers';
    function presentingViewController: NSViewController; message 'presentingViewController';
  end;

type
  NSViewControllerPresentationAndTransitionStyles = objccategory external (NSViewController)
    procedure presentViewControllerAsSheet (viewController: NSViewController); message 'presentViewControllerAsSheet:'; { available in 10_10 }
    procedure presentViewControllerAsModalWindow (viewController: NSViewController); message 'presentViewControllerAsModalWindow:'; { available in 10_10 }
    procedure presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior (viewController: NSViewController; positioningRect: NSRect; positioningView: NSView; preferredEdge: NSRectEdge; behavior: NSPopoverBehavior); message 'presentViewController:asPopoverRelativeToRect:ofView:preferredEdge:behavior:'; { available in 10_10 }
    procedure transitionFromViewController_toViewController_options_completionHandler (fromViewController: NSViewController; toViewController: NSViewController; options: NSViewControllerTransitionOptions; completion: OpaqueCBlock); message 'transitionFromViewController:toViewController:options:completionHandler:'; { available in 10_10 }
  end;

type
  NSViewControllerContainer = objccategory external (NSViewController)
    function parentViewController: NSViewController; message 'parentViewController';
    procedure setChildViewControllers(newValue: NSArray); message 'setChildViewControllers:';
    function childViewControllers: NSArray; message 'childViewControllers';
    procedure addChildViewController (childViewController: NSViewController); message 'addChildViewController:'; { available in 10_10 }
    procedure removeFromParentViewController; message 'removeFromParentViewController'; { available in 10_10 }
    procedure insertChildViewController_atIndex (childViewController: NSViewController; index: NSInteger); message 'insertChildViewController:atIndex:'; { available in 10_10 }
    procedure removeChildViewControllerAtIndex (index: NSInteger); message 'removeChildViewControllerAtIndex:'; { available in 10_10 }
    procedure preferredContentSizeDidChangeForViewController (viewController: NSViewController); message 'preferredContentSizeDidChangeForViewController:'; { available in 10_10 }
    procedure viewWillTransitionToSize (newSize: NSSize); message 'viewWillTransitionToSize:'; { available in 10_10 }
  end;
{$endif}

{$ifdef PROTOCOLS}

type
  NSViewControllerPresentationAnimatorProtocol = objcprotocol external name 'NSViewControllerPresentationAnimator' (NSObjectProtocol)
  required
    procedure animatePresentationOfViewController_fromViewController (viewController: NSViewController; fromViewController: NSViewController); message 'animatePresentationOfViewController:fromViewController:'; { available in 10_10 }
    procedure animateDismissalOfViewController_fromViewController (viewController: NSViewController; fromViewController: NSViewController); message 'animateDismissalOfViewController:fromViewController:'; { available in 10_10 }
  end;
{$endif}

{$ifdef CLASSES}

type
  NSViewControllerStoryboardingMethods = objccategory external (NSViewController)
    function storyboard: NSStoryboard; message 'storyboard';
  end;
{$endif}

{$if defined(__OBJC2__)}
{$ifdef CLASSES}

type
  NSExtensionAdditions = objccategory external (NSViewController)
    function extensionContext: NSExtensionContext; message 'extensionContext';
    procedure setSourceItemView(newValue: NSView); message 'setSourceItemView:';
    function sourceItemView: NSView; message 'sourceItemView';
    procedure setPreferredScreenOrigin(newValue: NSPoint); message 'setPreferredScreenOrigin:';
    function preferredScreenOrigin: NSPoint; message 'preferredScreenOrigin';
    function preferredMinimumSize: NSSize; message 'preferredMinimumSize';
    function preferredMaximumSize: NSSize; message 'preferredMaximumSize';
  end;
{$endif}

{$endif}