forked from tomcool420/SMFramework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SMFMoviePreviewController.h
103 lines (93 loc) · 3.05 KB
/
SMFMoviePreviewController.h
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
//
// SMFMoviePreviewController.h
// SMFramework
//
// Created by Thomas Cool on 2/6/11.
// Copyright 2011 tomcool.org. All rights reserved.
//
#import <Foundation/Foundation.h>
#define NOSHELF
#import "SMFPhotoMethods.h"
#import "SMFThemeInfo.h"
#import "Backrow/AppleTV.h"
#import "SMFMoviePreviewDelegateDatasource.h"
@class BRControl,BRMediaShelfView;
extern NSString * const kSMFMoviePreviewTitle ;
extern NSString * const kSMFMoviePreviewSubtitle;
extern NSString * const kSMFMoviePreviewSummary;
extern NSString * const kSMFMoviePreviewPosterPath;
extern NSString * const kSMFMoviePreviewPoster;
extern NSString * const kSMFMoviePreviewHeaders;
extern NSString * const kSMFMoviePreviewColumns;
extern NSString * const kSMFMoviePreviewRating;
extern NSString * const kMoviePreviewControllerSelectionChanged;
extern NSString * const kMoviePreviewControllerNewSelectedControl;
/**
*An intensely intricate but extremely flexible way of displaying data on screen.
*Based from Apple's way of displaying previews for movies.
*Used in both Plex (displaying Movies) and nitoTV displaying packages.
*Requires the use of a datasource to layout the data and a delegate to receive the messages
*/
@interface SMFMoviePreviewController : BRController {
BRMetadataTitleControl *_metadataTitleControl;
BRTextControl * _summaryControl;
NSMutableArray * _buttons;
BRImageControl *_previousArrowImageControl;
BRImageControl *_nextArrowImageControl;
id _shelfControl;
id _adap;
BRCoverArtPreviewControl *_previewControl;
NSMutableDictionary *_info;
NSObject<SMFMoviePreviewControllerDatasource> *datasource;
NSObject<SMFMoviePreviewControllerDelegate> *delegate;
BOOL _summaryToggled;
BRDividerControl *_div3;
BRTextControl *_alsoWatched;
BOOL _previousArrowTurnedOn;
BOOL _nextArrowTurnedOn;
NSMutableArray *_hideList;
BRDataStoreProvider *_provider;
BOOL _usingShelfView;
}
///---
///@name properties
///---
/**
*the datasource object
*@note needs to conform to SMFMoviePreviewControllerDatasource
*/
@property (retain)NSObject<SMFMoviePreviewControllerDatasource>*datasource;
/**
*the delegate object
*@note needs to conform to SMFMoviePreviewControllerDelegate
*/
@property (retain)NSObject<SMFMoviePreviewControllerDelegate>*delegate;
///---
///@name deprecated properties
///---
/**
*The shelf object. it is readonly but can be used to get the position
*of the item selected
*@bug this property is deprecated, use shelfControl instead
*/
@property (readonly)id shelfControl;
/**
*The buttons displayed on screen
*@note same as buttons
*@bug deprecated use buttons instead
*/
@property (readonly)NSMutableArray *_buttons;
+(NSDictionary *)columnHeaderAttributes;
+(NSDictionary *)columnLabelAttributes;
///---
///@name Example Delegate Methods
///---
-(void)reload;
-(void)reloadShelf;
-(void)toggleLongSummary;
-(void)switchPreviousArrowOn;
-(void)switchPreviousArrowOff;
-(void)switchNextArrowOn;
-(void)switchNextArrowOff;
-(id)_shelfControl;
@end