Skip to content

Commit

Permalink
day planner view: new reloadDimmedTimeRanges method - new setting in …
Browse files Browse the repository at this point in the history
…demo app to test functionality
  • Loading branch information
jumartin committed Nov 8, 2016
1 parent abcaa52 commit 3a5efd5
Show file tree
Hide file tree
Showing 9 changed files with 205 additions and 129 deletions.
2 changes: 1 addition & 1 deletion CalendarDemo/MainViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ - (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
if ([segue.identifier isEqualToString:@"dayPlannerSettingsSegue"]) {
WeekSettingsViewController *settingsViewController = (WeekSettingsViewController*)nc.topViewController;
WeekViewController *weekController = (WeekViewController*)self.calendarViewController;
settingsViewController.dayPlannerView = weekController.dayPlannerView;
settingsViewController.weekViewController = weekController;
}
else if ([segue.identifier isEqualToString:@"monthPlannerSettingsSegue"]) {
MonthSettingsViewController *settingsViewController = (MonthSettingsViewController*)nc.topViewController;
Expand Down
5 changes: 3 additions & 2 deletions CalendarDemo/WeekSettingsViewController.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@
//

#import <UIKit/UIKit.h>
#import "MGCDayPlannerView.h"
#import "WeekViewController.h"


@protocol WeekSettingsViewControllerDelegate;


@interface WeekSettingsViewController : UITableViewController

@property (nonatomic) MGCDayPlannerView *dayPlannerView;
@property (nonatomic) WeekViewController *weekViewController;

@end
17 changes: 16 additions & 1 deletion CalendarDemo/WeekSettingsViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ @interface WeekSettingsViewController ()

@property (nonatomic) NSDateFormatter *dateFormatter;

@property (nonatomic) MGCDayPlannerView *dayPlannerView;

@property (nonatomic) IBOutlet UILabel *visibleDaysLabel;
@property (nonatomic) IBOutlet UIStepper *visibleDaysStepper;

Expand Down Expand Up @@ -63,6 +65,7 @@ @interface WeekSettingsViewController ()
@property (nonatomic) IBOutlet UISwitch *eventSelectionSwitch;

@property (nonatomic) IBOutlet UISwitch *customCellSwitch;
@property (nonatomic) IBOutlet UISwitch *dimmedTimeRangeSwitch;

@end

Expand All @@ -89,6 +92,11 @@ - (UIView*)makeCancelAccessoryView
return view;
}

- (MGCDayPlannerView*)dayPlannerView
{
return self.weekViewController.dayPlannerView;
}

- (void)viewDidLoad
{
[super viewDidLoad];
Expand Down Expand Up @@ -132,7 +140,9 @@ - (void)viewDidLoad
self.eventCreationSwitch.on = self.dayPlannerView.canCreateEvents;
self.eventMovingSwitch.on = self.dayPlannerView.canMoveEvents;
self.eventSelectionSwitch.on = self.dayPlannerView.allowsSelection;


self.dimmedTimeRangeSwitch.on = self.weekViewController.showDimmedTimeRanges;

// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;

Expand Down Expand Up @@ -262,6 +272,7 @@ - (IBAction)switchToggled:(UISwitch*)sender
{
if (sender == self.pagingSwitch) {
self.dayPlannerView.pagingEnabled = sender.on;
[self.dayPlannerView reloadDimmedTimeRanges];
}
else if (sender == self.zoomingSwitch) {
self.dayPlannerView.zoomingEnabled = sender.on;
Expand Down Expand Up @@ -289,6 +300,10 @@ - (IBAction)switchToggled:(UISwitch*)sender
}
[self.dayPlannerView reloadAllEvents];
}
else if (sender == self.dimmedTimeRangeSwitch) {
self.weekViewController.showDimmedTimeRanges = sender.on;
[self.dayPlannerView reloadDimmedTimeRanges];
}
}

- (IBAction)dateAction:(id)sender
Expand Down
1 change: 1 addition & 0 deletions CalendarDemo/WeekViewController.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@
@interface WeekViewController : MGCDayPlannerEKViewController <CalendarViewControllerNavigation>

@property (nonatomic, weak) id<WeekViewControllerDelegate> delegate;
@property (nonatomic) BOOL showDimmedTimeRanges;

@end
20 changes: 14 additions & 6 deletions CalendarDemo/WeekViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -120,19 +120,27 @@ - (NSAttributedString*)dayPlannerView:(MGCDayPlannerView *)view attributedString

- (NSInteger)dayPlannerView:(MGCDayPlannerView *)view numberOfDimmedTimeRangesAtDate:(NSDate *)date
{
if (!self.showDimmedTimeRanges) return 0;
return [self.calendar isDateInWeekend:date] ? 1 : 2;
}

- (MGCDateRange*)dayPlannerView:(MGCDayPlannerView *)view dimmedTimeRangeAtIndex:(NSUInteger)index date:(NSDate *)date
{
if ([self.calendar isDateInWeekend:date]) {
NSDate *start = [self.calendar dateBySettingHour:0 minute:0 second:0 ofDate:date options:0];
NSDate *end = [self.calendar dateBySettingHour:23 minute:59 second:0 ofDate:date options:0];
return [MGCDateRange dateRangeWithStart:start end:end];
NSDate *start, *end;

if ([self.calendar isDateInWeekend:date] || index == 0) {
start = [self.calendar dateBySettingHour:0 minute:0 second:0 ofDate:date options:0];
}
else {
start = [self.calendar dateBySettingHour:19 minute:0 second:0 ofDate:date options:0];
}

NSDate *start = [self.calendar dateBySettingHour:(index == 0 ? 0 : 19) minute:0 second:0 ofDate:date options:0];
NSDate *end = [self.calendar dateBySettingHour:(index == 0 ? 8 : 23) minute:(index == 0 ? 0 : 59) second:0 ofDate:date options:0];
if ([self.calendar isDateInWeekend:date] || index == 1) {
end = [self.calendar dateBySettingHour:23 minute:59 second:0 ofDate:date options:0];
}
else {
end = [self.calendar dateBySettingHour:8 minute:59 second:0 ofDate:date options:0];
}
return [MGCDateRange dateRangeWithStart:start end:end];
}

Expand Down
Loading

0 comments on commit 3a5efd5

Please sign in to comment.