28#define _Class _TabViewController
39 release(this->tabView);
44#pragma mark - ViewController
58 assert(this->tabView);
60 this->tabView->delegate.self =
this;
76 $(this->tabView,
addTab, tab);
95#pragma mark - TabViewController
118 assert(viewController);
120 if (viewController->
view) {
127#pragma mark - Class lifecycle
134 ((ObjectInterface *) clazz->interface)->dealloc =
dealloc;
136 ((ViewControllerInterface *) clazz->interface)->loadView =
loadView;
140 ((TabViewControllerInterface *) clazz->interface)->init =
init;
153 clazz = _initialize(&(
const ClassDef) {
154 .name =
"TabViewController",
158 .interfaceSize =
sizeof(TabViewControllerInterface),
static void dealloc(Object *self)
static void initialize(Class *clazz)
static _Bool tabForViewController_predicate(const ident obj, ident data)
Predicate for tabViewItemFor.
TabViewControllers arrange and manage their child ViewControllers in a tab view interface.
@ ViewAutoresizingContain
Box * initWithFrame(Box *self, const SDL_Rect *frame)
Initializes this Box with the given frame.
CollectionView * init(CollectionView *self, const SDL_Rect *frame)
Initializes this CollectionView with the specified frame and style.
TabViewControllers arrange and manage their child ViewControllers in a tab view interface.
TabViewItem * tabForViewController(const TabViewController *self, const ViewController *viewController)
Returns the TabViewItem for the specified child ViewController, or NULL.
TabView * tabView
The TabView.
Class * _TabViewController(void)
The TabViewController archetype.
TabViews allow for the display of multiple pages of information within a single view.
void addTab(TabView *self, TabViewItem *tab)
Adds the specified TabViewItem to this TabView.
void removeTab(TabView *self, TabViewItem *tab)
Removes the specified TabViewItem from this TabView.
MutableArray * tabs
The TabViewItems.
TabViewItems embed Views in a TabView.
TabViewItem * initWithView(TabViewItem *self, View *view)
Initializes this TabViewItem with the specified View.
A ViewController manages a View and its descendants.
View * view
The main view.
Class * _ViewController(void)
The ViewController archetype.
void loadView(ViewController *self)
Loads this ViewController's View.
void addChildViewController(ViewController *self, ViewController *childViewController)
Adds the specified child ViewController to this ViewController.
void removeChildViewController(ViewController *self, ViewController *childViewController)
Removes the specified child ViewController from this ViewController.
Views are the fundamental building blocks of ObjectivelyMVC user interfaces.
void addSubview(View *self, View *subview)
Adds a subview to this view, to be drawn above its siblings.
int autoresizingMask
The ViewAutoresizing bitmask.