private void prepareViews() { projectTaskClientToAttributedString = new ProjectTaskClientToAttributedString( ProjectTaskClientLabel.Font.CapHeight, Colors.EditTimeEntry.ClientText.ToNativeColor()); tagsListToAttributedString = new TagsListToAttributedString(TagsTextView); centerTextVertically(TagsTextView); TagsTextView.TextContainer.LineFragmentPadding = 0; DescriptionTextView.TintColor = Colors.StartTimeEntry.Cursor.ToNativeColor(); DescriptionTextView.PlaceholderText = Resources.AddDescription; DescriptionTextView.TextColor = ColorAssets.Text; DescriptionView.InsertSeparator(); PasteFromClipboardHintView.InsertSeparator(); SelectProjectView.InsertSeparator(); SelectTagsView.InsertSeparator(); BillableView.InsertSeparator(); }
public override void ViewDidLoad() { base.ViewDidLoad(); prepareViews(); prepareSiriButton(); localizeLabels(); BillableSwitch.Rx().Changed() .Select(_ => BillableSwitch.On) .Subscribe(ViewModel.IsBillable.Accept) .DisposedBy(DisposeBag); TagsTextView.Rx() .BindAction(ViewModel.SelectTags) .DisposedBy(DisposeBag); ViewModel.HasTags .Invert() .Subscribe(AddTagsView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.HasTags .Subscribe(TagsTextView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.TagNames .Select(tagsListToAttributedString.Convert) .Subscribe(TagsTextView.Rx().AttributedTextObserver()) .DisposedBy(DisposeBag); SelectTagsView.Rx() .BindAction(ViewModel.SelectTags) .DisposedBy(DisposeBag); SelectProjectView.Rx() .BindAction(ViewModel.SelectProject) .DisposedBy(DisposeBag); ViewModel.ProjectClientTask .Select(info => projectTaskClientToAttributedString.Convert( info.Project, info.Task, info.Client, new Color(info.ProjectColor).ToNativeColor())) .Subscribe(ProjectTaskClientLabel.Rx().AttributedText()) .DisposedBy(DisposeBag); ViewModel.ProjectClientTask .Select(info => info.HasProject) .Subscribe(ProjectTaskClientLabel.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.ProjectClientTask .Select(info => !info.HasProject) .Subscribe(AddProjectAndTaskView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.IsBillable .Subscribe(BillableSwitch.Rx().CheckedObserver()) .DisposedBy(DisposeBag); ViewModel.IsBillableAvailable .Subscribe(BillableView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.PasteFromClipboard .Invert() .Subscribe(DescriptionTextView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.PasteFromClipboard .Subscribe(DescriptionUsingClipboardWrapperView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.PasteFromClipboard .Subscribe(PasteFromClipboardHintView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.PasteFromClipboard .Select(enabled => enabled ? pasteFromClipboardButtonImageEnabled : pasteFromClipboardButtonImage) .Subscribe(image => { PasteFromClipboardButton.SetImage(image, UIControlState.Normal); }) .DisposedBy(DisposeBag); ViewModel.PasteFromClipboard .Subscribe(enabled => { if (enabled) { DescriptionTextView.ResignFirstResponder(); } else { DescriptionTextView.BecomeFirstResponder(); } }) .DisposedBy(DisposeBag); DescriptionTextView.TextObservable .Subscribe(ViewModel.Description.Accept) .DisposedBy(DisposeBag); PasteFromClipboardButton.Rx() .BindAction(ViewModel.SelectClipboard) .DisposedBy(DisposeBag); }
void ReleaseDesignerOutlets() { if (AddProjectAndTaskView != null) { AddProjectAndTaskView.Dispose(); AddProjectAndTaskView = null; } if (AddProjectTaskLabel != null) { AddProjectTaskLabel.Dispose(); AddProjectTaskLabel = null; } if (AddTagsLabel != null) { AddTagsLabel.Dispose(); AddTagsLabel = null; } if (AddTagsView != null) { AddTagsView.Dispose(); AddTagsView = null; } if (AddToSiriWrapperView != null) { AddToSiriWrapperView.Dispose(); AddToSiriWrapperView = null; } if (BillabelLabel != null) { BillabelLabel.Dispose(); BillabelLabel = null; } if (BillableSwitch != null) { BillableSwitch.Dispose(); BillableSwitch = null; } if (BillableView != null) { BillableView.Dispose(); BillableView = null; } if (DescriptionFromClipboardLabel != null) { DescriptionFromClipboardLabel.Dispose(); DescriptionFromClipboardLabel = null; } if (DescriptionTextView != null) { DescriptionTextView.Dispose(); DescriptionTextView = null; } if (DescriptionUsingClipboardWrapperView != null) { DescriptionUsingClipboardWrapperView.Dispose(); DescriptionUsingClipboardWrapperView = null; } if (DescriptionView != null) { DescriptionView.Dispose(); DescriptionView = null; } if (PasteFromClipboardButton != null) { PasteFromClipboardButton.Dispose(); PasteFromClipboardButton = null; } if (PasteFromClipboardHintLabel != null) { PasteFromClipboardHintLabel.Dispose(); PasteFromClipboardHintLabel = null; } if (PasteFromClipboardHintView != null) { PasteFromClipboardHintView.Dispose(); PasteFromClipboardHintView = null; } if (ProjectTaskClientLabel != null) { ProjectTaskClientLabel.Dispose(); ProjectTaskClientLabel = null; } if (ScrollView != null) { ScrollView.Dispose(); ScrollView = null; } if (ScrollViewContent != null) { ScrollViewContent.Dispose(); ScrollViewContent = null; } if (SelectProjectView != null) { SelectProjectView.Dispose(); SelectProjectView = null; } if (SelectTagsView != null) { SelectTagsView.Dispose(); SelectTagsView = null; } if (TagsTextView != null) { TagsTextView.Dispose(); TagsTextView = null; } }