public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { var item = GetItem(indexPath); string cellId = GetCellId(indexPath); BareUITableViewCell cell = tableView.DequeueReusableCell(cellId) as BareUITableViewCell; // If no cells to reuse, create a new one if (cell == null) { switch (cellId) { case CELL_ID_GRADE: cell = new UIGradeCell(CELL_ID_GRADE); break; case CELL_ID_UNASSIGNED: cell = new UITaskCell(CELL_ID_UNASSIGNED); break; } } cell.DataContext = item; return(cell); }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { string cellId = GetCellId(indexPath.Row); BareUITableViewCell cell = tableView.DequeueReusableCell(cellId) as BareUITableViewCell; // If no cells to reuse, create a new one if (cell == null) { switch (cellId) { case CELL_ID_ITEM: cell = new UITaskCell(CELL_ID_ITEM); break; case CELL_ID_HEADER: cell = new UIFriendlyDateHeaderCell(CELL_ID_HEADER); break; case CELL_ID_SHOW_HIDE_OLD_ITEMS_BUTTON: cell = new UIShowHideOldItemsCell(CELL_ID_SHOW_HIDE_OLD_ITEMS_BUTTON, _viewModel.ClassViewModel.ViewItemsGroupClass, _viewModel.Type); break; } } // We don't set data context on the Show Hide old items button, since it already set the data context in its construtor if (cellId != CELL_ID_SHOW_HIDE_OLD_ITEMS_BUTTON) { cell.DataContext = GetItem(indexPath.Row); } return(cell); }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { string cellId = GetCellId(indexPath.Row); BareUITableViewCell cell = tableView.DequeueReusableCell(cellId) as BareUITableViewCell; // If no cells to reuse, create a new one if (cell == null) { switch (cellId) { case CELL_ID_ITEM: cell = new UITaskCell(CELL_ID_ITEM); break; case CELL_ID_HEADER: cell = new UIHeaderCell(CELL_ID_HEADER); break; } } cell.DataContext = GetItem(indexPath.Row); return(cell); }
public override void OnViewModelLoadedOverride() { _tableView.AddDescriptionCell(PowerPlannerResources.GetString("Settings_SchoolTimeZone_Description.Text")); _tableView.StartNewGroup(); var selectedTimeZone = new BareUIInlinePickerView(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Time zone", ItemsSource = ViewModel.AvailableTimeZones, ItemToPreviewStringConverter = item => SchoolTimeZoneSettingsViewModel.Format(item as TimeZoneInfo), ItemToViewConverter = ConvertTimeZoneToInlineView }; BindingHost.SetSelectedItemBinding(selectedTimeZone, nameof(ViewModel.SelectedSchoolTimeZone)); var cellSelectedTimeZone = new BareUITableViewCell("selectedTimeZone"); cellSelectedTimeZone.ContentView.Add(selectedTimeZone); selectedTimeZone.StretchWidth(cellSelectedTimeZone.ContentView); selectedTimeZone.SetHeight(44); _tableView.AddCell(cellSelectedTimeZone, delegate { }); // Have to provide action so it remains clickable _tableView.StartNewGroup(); _tableView.AddCell("Save changes", ViewModel.Save); _tableView.AddCaptionDescriptionCell(PowerPlannerResources.GetString("Settings_SchoolTimeZone_RestartNote.Text")); _tableView.Compile(); base.OnViewModelLoadedOverride(); }
public override void OnViewModelLoadedOverride() { _tableView.AddDescriptionCell("Power Planner automatically sets reminders for each task and event."); _tableView.StartNewGroup(); var switchDayBefore = new BareUISwitch() { TranslatesAutoresizingMaskIntoConstraints = false, Header = "Day Before" }; BindingHost.SetSwitchBinding(switchDayBefore, nameof(ViewModel.RemindersDayBefore)); var cellDayBefore = new BareUITableViewCell("dayBefore"); cellDayBefore.ContentView.Add(switchDayBefore); switchDayBefore.StretchWidthAndHeight(cellDayBefore.ContentView); _tableView.AddCell(cellDayBefore, delegate { }); // Have to provide action so it remains clickable _tableView.AddCaptionDescriptionCell("This reminds you the day before your incomplete tasks or events are due. It will remind you 10 minutes after your last class, or at 3:00 PM if you don't have any classes that day."); _tableView.StartNewGroup(); var switchDayOf = new BareUISwitch() { TranslatesAutoresizingMaskIntoConstraints = false, Header = "Day Of" }; BindingHost.SetSwitchBinding(switchDayOf, nameof(ViewModel.RemindersDayOf)); var cellDayOf = new BareUITableViewCell("dayOf"); cellDayOf.ContentView.Add(switchDayOf); switchDayOf.StretchWidthAndHeight(cellDayOf.ContentView); _tableView.AddCell(cellDayOf, delegate { }); _tableView.AddCaptionDescriptionCell("This reminds you on the same day that your incomplete tasks or events are due. It will remind you 1 hour before your class starts, or at 6:00 PM if your class doesn't meet on that day."); _tableView.Compile(); base.OnViewModelLoadedOverride(); }
public override void OnViewModelLoadedOverride() { _tableView.AddDescriptionCell(PowerPlannerResources.GetString("Settings_TwoWeekSchedule_Description.Text")); _tableView.StartNewGroup(); var currentWeek = new BareUIInlinePickerView(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Current week", ItemsSource = ViewModel.AvailableCurrentWeekStrings }; BindingHost.SetSelectedItemBinding(currentWeek, nameof(ViewModel.CurrentWeekString)); var cellCurrentWeek = new BareUITableViewCell("currentWeek"); cellCurrentWeek.ContentView.Add(currentWeek); currentWeek.StretchWidth(cellCurrentWeek.ContentView); currentWeek.SetHeight(44); _tableView.AddCell(cellCurrentWeek, delegate { }); // Have to provide action so it remains clickable _tableView.StartNewGroup(); var weekChangesOn = new BareUIInlinePickerView(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Week changes on", ItemsSource = ViewModel.AvailableWeekChangesOnStrings }; BindingHost.SetSelectedItemBinding(weekChangesOn, nameof(ViewModel.WeekChangesOnString)); var cellWeekChangesOn = new BareUITableViewCell("weekChangesOn"); cellWeekChangesOn.ContentView.Add(weekChangesOn); weekChangesOn.StretchWidth(cellWeekChangesOn.ContentView); weekChangesOn.SetHeight(44); _tableView.AddCell(cellWeekChangesOn, delegate { }); _tableView.Compile(); base.OnViewModelLoadedOverride(); }
public override void OnViewModelSetOverride() { var uiSwitch = new BareUISwitch() { TranslatesAutoresizingMaskIntoConstraints = false, Header = "Round Grades Up" }; BindingHost.SetSwitchBinding(uiSwitch, nameof(ViewModel.RoundGradesUp)); BindingHost.SetIsEnabledBinding(uiSwitch, nameof(ViewModel.IsEnabled)); var cell = new BareUITableViewCell("roundGradesUp"); cell.ContentView.Add(uiSwitch); uiSwitch.StretchWidthAndHeight(cell.ContentView); _tableView.AddCell(cell, delegate { }); // Have to provide action so it remains clickable _tableView.AddCaptionDescriptionCell(PowerPlannerResources.GetString("ClassPage_TextBlockRoundGradesUpHelpBody.Text")); _tableView.Compile(); base.OnViewModelSetOverride(); }