public RotatingCalendarView(RectangleF rect, float tabBarHeight) { notificationObserver = NSNotificationCenter.DefaultCenter.AddObserver ("EKEventStoreChangedNotification", EventsChanged); this.Title = Util.MyTitle; CurrentDate = DateTime.Today; SingleDayView = new CalendarDayTimelineView (rect, tabBarHeight); WeekView = new TrueWeekView (CurrentDate); WeekView.UseCalendar = true; LandscapeLeftView = WeekView; LandscapeRightView = WeekView; PortraitView = SingleDayView; SingleDayView.OnEventClicked += theEvent => { if (theEvent != null) { if (OnEventClicked != null) { OnEventClicked (theEvent); } } }; WeekView.OnEventClicked += theEvent => { if (theEvent != null) { if (OnEventClicked != null) { OnEventClicked (theEvent); } } }; SingleDayView.dateChanged += theDate => { CurrentDate = theDate; }; this.OnEventClicked += theEvent => { //Util.MyEventStore.RemoveEvents(Util.getEvent(theEvent),EKSpan.ThisEvent,theError.Handle); addController = new EKEventEditViewController (); // set the addController's event store to the current event store. addController.EventStore = Util.MyEventStore; addController.Event = Util.getEvent (theEvent); addController.Completed += delegate(object sender, EKEventEditEventArgs e) { this.DismissModalViewControllerAnimated (true); }; try { if (this.ModalViewController == null) this.NavigationController.PresentModalViewController (addController, true); } catch (Exception ex) { //rotatingView.NavigationController.PopViewControllerAnimated(false); } }; }
public RotatingCalendarView(RectangleF rect, IEventsSource source, float tabBarHeight) { dataSource = source; //notificationObserver = NSNotificationCenter.DefaultCenter.AddObserver ("EKEventStoreChangedNotification", EventsChanged); CurrentDate = DateTime.Today; SingleDayView = new CalendarDayTimelineView(rect, tabBarHeight, dataSource, true); SingleDayLandscapeView = new CalendarDayTimelineView(new RectangleF(0, 0, 480, 320), 0, dataSource, false); //WeekView = new TrueWeekView (CurrentDate, dataSource); //WeekView.UseCalendar = true; //LandscapeLeftView = WeekView; //LandscapeRightView = WeekView; LandscapeLeftView = SingleDayLandscapeView; LandscapeRightView = SingleDayLandscapeView; PortraitView = SingleDayView; //SingleDayView.ForceAutoRotate = delegate{ForceAutoRotate();}; SingleDayView.OnEventClicked += theEvent => { if (theEvent != null) { if (OnEventClicked != null) { OnEventClicked(theEvent); } } }; SingleDayLandscapeView.OnEventClicked += theEvent => { if (theEvent != null) { if (OnEventClicked != null) { OnEventClicked(theEvent); } } }; SingleDayView.OnNewEvent += date => { if (date != null) { if (OnAddEvent != null) { OnAddEvent(date); } } }; SingleDayLandscapeView.OnNewEvent += date => { if (date != null) { if (OnAddEvent != null) { OnAddEvent(date); } } }; SingleDayView.dateChanged += theDate => { if (!preventUpdates) { preventUpdates = true; CurrentDate = theDate; //SingleDayLandscapeView.SetDate(theDate); SingleDayLandscapeView.SetDateAndReloadDay(theDate); preventUpdates = false; } }; SingleDayLandscapeView.dateChanged += theDate => { if (!preventUpdates) { preventUpdates = true; CurrentDate = theDate; SingleDayView.SetDateAndReloadDay(theDate); preventUpdates = false; } }; //this.OnEventClicked += theEvent => //{ // //Util.MyEventStore.RemoveEvents(Util.getEvent(theEvent),EKSpan.ThisEvent,theError.Handle); // addController = new EKEventEditViewController (); // // set the addController's event store to the current event store. // addController.EventStore = Util.MyEventStore; // addController.Event = Util.getEvent (theEvent); // addController.Completed += delegate(object sender, EKEventEditEventArgs e) { this.DismissModalViewControllerAnimated (true); }; // try { // if (this.ModalViewController == null) // this.NavigationController.PresentModalViewController (addController, true); // } catch (Exception ex) { // //rotatingView.NavigationController.PopViewControllerAnimated(false); // } //}; }