1
0
mirror of https://github.com/danog/Telegram.git synced 2024-12-03 09:57:46 +01:00
Telegram/Telegraph/TGUserInfoButtonCollectionItem.m
2015-10-01 19:19:52 +03:00

82 lines
1.7 KiB
Objective-C

/*
* This is the source code of Telegram for iOS v. 1.1
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Peter Iakovlev, 2013.
*/
#import "TGUserInfoButtonCollectionItem.h"
#import "TGUserInfoButtonCollectionItemView.h"
@interface TGUserInfoButtonCollectionItem ()
{
SEL _action;
}
@end
@implementation TGUserInfoButtonCollectionItem
- (instancetype)initWithTitle:(NSString *)title action:(SEL)action
{
self = [super init];
if (self != nil)
{
self.transparent = true;
_title = title;
_action = action;
_titleColor = TGAccentColor();
}
return self;
}
- (Class)itemViewClass
{
return [TGUserInfoButtonCollectionItemView class];
}
- (CGSize)itemSizeForContainerSize:(CGSize)containerSize
{
return CGSizeMake(containerSize.width, 44.0f);
}
- (void)itemSelected:(id)actionTarget
{
if (_action != NULL && [actionTarget respondsToSelector:_action])
{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[actionTarget performSelector:_action];
#pragma clang diagnostic pop
}
}
- (void)bindView:(TGUserInfoButtonCollectionItemView *)view
{
[super bindView:view];
[view setTitle:_title];
[view setTitleColor:_titleColor];
[view setEditing:_editing];
}
- (void)setTitle:(NSString *)title
{
_title = title;
[((TGUserInfoButtonCollectionItemView *)self.boundView) setTitle:_title];
}
- (void)setEditing:(bool)editing
{
_editing = editing;
[((TGUserInfoButtonCollectionItemView *)self.boundView) setEditing:_editing];
}
@end