ObjectivelyMVC
0.1.0
Object oriented MVC framework for OpenGL, SDL2 and GNU C
Sources
ObjectivelyMVC
TabView.h
Go to the documentation of this file.
1
/*
2
* ObjectivelyMVC: Object oriented MVC framework for OpenGL, SDL2 and GNU C.
3
* Copyright (C) 2014 Jay Dolan <jay@jaydolan.com>
4
*
5
* This software is provided 'as-is', without any express or implied
6
* warranty. In no event will the authors be held liable for any damages
7
* arising from the use of this software.
8
*
9
* Permission is granted to anyone to use this software for any purpose,
10
* including commercial applications, and to alter it and redistribute it
11
* freely, subject to the following restrictions:
12
*
13
* 1. The origin of this software must not be misrepresented; you must not
14
* claim that you wrote the original software. If you use this software
15
* in a product, an acknowledgment in the product documentation would be
16
* appreciated but is not required.
17
*
18
* 2. Altered source versions must be plainly marked as such, and must not be
19
* misrepresented as being the original software.
20
*
21
* 3. This notice may not be removed or altered from any source distribution.
22
*/
23
24
#pragma once
25
26
#include <Objectively/MutableArray.h>
27
28
#include <
ObjectivelyMVC/StackView.h
>
29
#include <
ObjectivelyMVC/PageView.h
>
30
#include <
ObjectivelyMVC/TabViewItem.h
>
31
37
typedef
struct
TabViewDelegate
TabViewDelegate
;
38
39
typedef
struct
TabView
TabView
;
40
typedef
struct
TabViewInterface TabViewInterface;
41
45
struct
TabViewDelegate
{
46
50
ident
self
;
51
57
void (*
didAddTab
)(
TabView
*tabView,
TabViewItem
*tab);
58
64
void (*
didSelectTab
)(
TabView
*tabView,
TabViewItem
*tab);
65
71
void (*
willRemoveTab
)(
TabView
*tabView,
TabViewItem
*tab);
72
};
73
79
struct
TabView
{
80
84
StackView
stackView
;
85
90
TabViewInterface *
interface
;
91
95
TabViewDelegate
delegate
;
96
100
TabViewItem
*
selectedTab
;
101
105
PageView
*
tabPageView
;
106
110
StackView
*
tabSelectionView
;
111
115
MutableArray *
tabs
;
116
};
117
121
struct
TabViewInterface {
122
126
StackViewInterface stackViewInterface;
127
135
void (*
addTab
)(
TabView
*self,
TabViewItem
*tab);
136
145
TabView
*(*initWithFrame)(
TabView
*self,
const
SDL_Rect *frame);
146
154
void (*
selectTab
)(
TabView
*self,
TabViewItem
*tab);
155
163
void (*
removeTab
)(
TabView
*self,
TabViewItem
*tab);
164
172
TabViewItem
*(*tabWithIdentifier)(
const
TabView
*self,
const
char
*identifier);
173
};
174
181
OBJECTIVELYMVC_EXPORT
Class *
_TabView
(
void
);
PageView.h
PageViews manage their subviews as pages in a book.
StackView.h
StackViews are containers that manage the arrangement of their subviews.
addTab
static void addTab(TabView *self, TabViewItem *tab)
Definition:
TabView.c:131
removeTab
static void removeTab(TabView *self, TabViewItem *tab)
Definition:
TabView.c:181
selectTab
static void selectTab(TabView *self, TabViewItem *tab)
Definition:
TabView.c:225
TabViewItem.h
TabViewItems embed Views in a TabView.
OBJECTIVELYMVC_EXPORT
#define OBJECTIVELYMVC_EXPORT
Definition:
Types.h:39
PageView
PageViews manage their subviews as pages in a book.
Definition:
PageView.h:60
StackView
StackViews are containers that manage the arrangement of their subviews.
Definition:
StackView.h:68
TabViewDelegate
The TabViewDelegate.
Definition:
TabView.h:45
TabViewDelegate::self
ident self
The delegate self-reference.
Definition:
TabView.h:50
TabViewDelegate::didAddTab
void(* didAddTab)(TabView *tabView, TabViewItem *tab)
Called when a tab is added.
Definition:
TabView.h:57
TabViewDelegate::didSelectTab
void(* didSelectTab)(TabView *tabView, TabViewItem *tab)
Called when a tab is selected.
Definition:
TabView.h:64
TabViewDelegate::willRemoveTab
void(* willRemoveTab)(TabView *tabView, TabViewItem *tab)
Called when a tab is to be removed.
Definition:
TabView.h:71
TabView
TabViews allow for the display of multiple pages of information within a single view.
Definition:
TabView.h:79
TabView::_TabView
Class * _TabView(void)
The TabView archetype.
Definition:
TabView.c:301
TabView::stackView
StackView stackView
The superclass.
Definition:
TabView.h:84
TabView::tabPageView
PageView * tabPageView
The tab content container.
Definition:
TabView.h:105
TabView::selectedTab
TabViewItem * selectedTab
The selected TabViewItem.
Definition:
TabView.h:100
TabView::interface
TabViewInterface * interface
The interface.
Definition:
TabView.h:90
TabView::tabs
MutableArray * tabs
The TabViewItems.
Definition:
TabView.h:115
TabView::tabSelectionView
StackView * tabSelectionView
The tab selection container.
Definition:
TabView.h:110
TabView::delegate
TabViewDelegate delegate
The TabViewDelegate.
Definition:
TabView.h:95
TabViewItem
TabViewItems embed Views in a TabView.
Definition:
TabViewItem.h:51
Generated on Mon Aug 29 2022 09:32:58 for ObjectivelyMVC by
1.9.3