public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            prepareViews();

            var colorConverter              = new MvxNativeColorValueConverter();
            var visibilityConverter         = new MvxVisibilityValueConverter();
            var timeSpanConverter           = new TimeSpanToDurationValueConverter();
            var invertedVisibilityConverter = new MvxInvertedVisibilityValueConverter();

            var bindingSet = this.CreateBindingSet <MainViewController, MainViewModel>();

            //Commands
            bindingSet.Bind(settingsButton).To(vm => vm.OpenSettingsCommand);
            bindingSet.Bind(StopTimeEntryButton).To(vm => vm.StopTimeEntryCommand);
            bindingSet.Bind(StartTimeEntryButton).To(vm => vm.StartTimeEntryCommand);
            bindingSet.Bind(EditTimeEntryButton).To(vm => vm.EditTimeEntryCommand);
            bindingSet.Bind(MainPagedScrollView)
            .For(v => v.RefreshCommand)
            .To(vm => vm.RefreshCommand);

            bindingSet.Bind(CurrentTimeEntryCard)
            .For(v => v.BindTap())
            .To(vm => vm.EditTimeEntryCommand);

            //Visibility
            bindingSet.Bind(CurrentTimeEntryCard)
            .For(v => v.BindVisibility())
            .To(vm => vm.CurrentlyRunningTimeEntry)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(StartTimeEntryButton)
            .For(v => v.BindVisibility())
            .To(vm => vm.CurrentlyRunningTimeEntry)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(SpiderBroImageView)
            .For(v => v.BindVisibility())
            .To(vm => vm.SpiderIsVisible)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(SyncIndicatorView)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsSyncing)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(MainPagedScrollView)
            .For(v => v.IsSyncing)
            .To(vm => vm.IsSyncing);

            //Text
            bindingSet.Bind(CurrentTimeEntryDescriptionLabel).To(vm => vm.CurrentlyRunningTimeEntry.Description);
            bindingSet.Bind(CurrentTimeEntryElapsedTimeLabel)
            .To(vm => vm.CurrentTimeEntryElapsedTime)
            .WithConversion(timeSpanConverter);

            bindingSet.Apply();
        }
Example #2
0
        public void Include(ConsoleColor color)
        {
            Console.Write("");
            Console.WriteLine("");
            var converter = new MvxNativeColorValueConverter();

            color = Console.ForegroundColor;
            Console.ForegroundColor = ConsoleColor.Red;
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.ForegroundColor = ConsoleColor.White;
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.ForegroundColor = ConsoleColor.DarkGray;
        }
Example #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            prepareViews();

            source = new MainTableViewSource(TimeEntriesLogTableView);

            prepareOnboarding();

            var suggestionsView = new SuggestionsView();

            TimeEntriesLogTableView.TableHeaderView = suggestionsView;
            TimeEntriesLogTableView.Source          = source;

            suggestionsView.DataContext = ViewModel.SuggestionsViewModel;

            source.Initialize();

            var timeEntriesLogFooter = new UIView(
                new CGRect(0, 0, UIScreen.MainScreen.Bounds.Width, 64)
                );
            var colorConverter                = new MvxNativeColorValueConverter();
            var visibilityConverter           = new MvxVisibilityValueConverter();
            var parametricTimeSpanConverter   = new ParametricTimeSpanToDurationValueConverter();
            var invertedVisibilityConverter   = new MvxInvertedVisibilityValueConverter();
            var timeEntriesLogFooterConverter = new BoolToConstantValueConverter <UIView>(new UIView(), timeEntriesLogFooter);
            var projectTaskClientCombiner     = new ProjectTaskClientValueCombiner(
                CurrentTimeEntryProjectTaskClientLabel.Font.CapHeight,
                Color.Main.CurrentTimeEntryClientColor.ToNativeColor(),
                true
                );
            var startTimeEntryButtonManualModeIconConverter = new BoolToConstantValueConverter <UIImage>(
                UIImage.FromBundle("manualIcon"),
                UIImage.FromBundle("playIcon")
                );

            var bindingSet = this.CreateBindingSet <MainViewController, MainViewModel>();

            //Table view
            bindingSet.Bind(source)
            .For(v => v.ObservableCollection)
            .To(vm => vm.TimeEntriesLogViewModel.TimeEntries);

            bindingSet.Bind(source)
            .For(v => v.SyncProgress)
            .To(vm => vm.SyncingProgress);

            bindingSet.Bind(TimeEntriesLogTableView)
            .For(v => v.TableFooterView)
            .To(vm => vm.TimeEntriesLogViewModel.IsEmpty)
            .WithConversion(timeEntriesLogFooterConverter);

            //Commands
            bindingSet.Bind(reportsButton).To(vm => vm.OpenReportsCommand);
            bindingSet.Bind(settingsButton).To(vm => vm.OpenSettingsCommand);
            bindingSet.Bind(StopTimeEntryButton).To(vm => vm.StopTimeEntryCommand);
            bindingSet.Bind(StartTimeEntryButton).To(vm => vm.StartTimeEntryCommand);
            bindingSet.Bind(EditTimeEntryButton).To(vm => vm.EditTimeEntryCommand);

            bindingSet.Bind(CurrentTimeEntryCard)
            .For(v => v.BindTap())
            .To(vm => vm.EditTimeEntryCommand);

            bindingSet.Bind(source)
            .For(v => v.SelectionChangedCommand)
            .To(vm => vm.TimeEntriesLogViewModel.EditCommand);

            bindingSet.Bind(source)
            .For(v => v.ContinueTimeEntryCommand)
            .To(vm => vm.TimeEntriesLogViewModel.ContinueTimeEntryCommand);

            bindingSet.Bind(source)
            .For(v => v.RefreshCommand)
            .To(vm => vm.RefreshCommand);

            bindingSet.Bind(source)
            .For(v => v.DeleteTimeEntryCommand)
            .To(vm => vm.TimeEntriesLogViewModel.DeleteCommand);

            bindingSet.Bind(suggestionsView)
            .For(v => v.SuggestionTappedCommad)
            .To(vm => vm.SuggestionsViewModel.StartTimeEntryCommand);

            //Visibility
            bindingSet.Bind(WelcomeBackView)
            .For(v => v.BindVisibility())
            .To(vm => vm.ShouldShowWelcomeBack)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(spiderContainerView)
            .For(v => v.BindVisibility())
            .To(vm => vm.ShouldShowWelcomeBack)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(spiderBroView)
            .For(v => v.BindSpiderVisibility())
            .To(vm => vm.ShouldShowWelcomeBack);

            bindingSet.Bind(emptyStateView)
            .For(v => v.BindVisibility())
            .To(vm => vm.ShouldShowEmptyState)
            .WithConversion(visibilityConverter);

            //Text
            bindingSet.Bind(CurrentTimeEntryDescriptionLabel).To(vm => vm.CurrentTimeEntryDescription);
            bindingSet.Bind(CurrentTimeEntryElapsedTimeLabel)
            .To(vm => vm.CurrentTimeEntryElapsedTime)
            .WithConversion(parametricTimeSpanConverter, DurationFormat.Improved);

            bindingSet.Bind(CurrentTimeEntryProjectTaskClientLabel)
            .For(v => v.AttributedText)
            .ByCombining(projectTaskClientCombiner,
                         v => v.CurrentTimeEntryProject,
                         v => v.CurrentTimeEntryTask,
                         v => v.CurrentTimeEntryClient,
                         v => v.CurrentTimeEntryProjectColor);

            //The start button
            bindingSet.Bind(StartTimeEntryButton)
            .For(v => v.BindImage())
            .To(vm => vm.IsInManualMode)
            .WithConversion(startTimeEntryButtonManualModeIconConverter);

            bindingSet.Apply();

            View.SetNeedsLayout();
            View.LayoutIfNeeded();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            prepareViews();

            var colorConverter              = new MvxNativeColorValueConverter();
            var visibilityConverter         = new MvxVisibilityValueConverter();
            var timeSpanConverter           = new TimeSpanToDurationValueConverter();
            var invertedVisibilityConverter = new MvxInvertedVisibilityValueConverter();
            var projectTaskClientCombiner   = new ProjectTaskClientValueCombiner(
                CurrentTimeEntryProjectTaskClientLabel.Font.CapHeight,
                Color.Main.CurrentTimeEntryClientColor.ToNativeColor(),
                true
                );

            var bindingSet = this.CreateBindingSet <MainViewController, MainViewModel>();

            //Commands
            bindingSet.Bind(settingsButton).To(vm => vm.OpenSettingsCommand);
            bindingSet.Bind(StopTimeEntryButton).To(vm => vm.StopTimeEntryCommand);
            bindingSet.Bind(StartTimeEntryButton).To(vm => vm.StartTimeEntryCommand);
            bindingSet.Bind(EditTimeEntryButton).To(vm => vm.EditTimeEntryCommand);
            bindingSet.Bind(MainPagedScrollView)
            .For(v => v.RefreshCommand)
            .To(vm => vm.RefreshCommand);

            bindingSet.Bind(CurrentTimeEntryCard)
            .For(v => v.BindTap())
            .To(vm => vm.EditTimeEntryCommand);

            //Visibility
            bindingSet.Bind(CurrentTimeEntryCard)
            .For(v => v.BindVisibility())
            .To(vm => vm.HasCurrentTimeEntry)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(StartTimeEntryButton)
            .For(v => v.BindVisibility())
            .To(vm => vm.HasCurrentTimeEntry)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(SpiderBroImageView)
            .For(v => v.BindVisibility())
            .To(vm => vm.SpiderIsVisible)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(SpiderHinge)
            .For(v => v.BindVisibility())
            .To(vm => vm.SpiderIsVisible)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(SyncIndicatorView)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsSyncing)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(MainPagedScrollView)
            .For(v => v.IsSyncing)
            .To(vm => vm.IsSyncing);

            //Text
            bindingSet.Bind(CurrentTimeEntryDescriptionLabel).To(vm => vm.CurrentTimeEntryDescription);
            bindingSet.Bind(CurrentTimeEntryElapsedTimeLabel)
            .To(vm => vm.CurrentTimeEntryElapsedTime)
            .WithConversion(timeSpanConverter);

            bindingSet.Bind(CurrentTimeEntryProjectTaskClientLabel)
            .For(v => v.AttributedText)
            .ByCombining(projectTaskClientCombiner,
                         v => v.CurrentTimeEntryProject,
                         v => v.CurrentTimeEntryTask,
                         v => v.CurrentTimeEntryClient,
                         v => v.CurrentTimeEntryProjectColor);

            bindingSet.Apply();
        }
Example #5
0
 public void Include(MvxNativeColorValueConverter converter)
 {
     converter.Convert(null, null, null, null);
     converter.ConvertBack(null, null, null, null);
 }
Example #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            PageControl.Pages    = ViewModel.NumberOfPages;
            FirstPageLabel.Text  = Resources.OnboardingTrackPageCopy;
            SecondPageLabel.Text = Resources.OnboardingLogPageCopy;
            ThirdPageLabel.Text  = Resources.OnboardingSummaryPageCopy;

            var visibilityConverter         = new MvxVisibilityValueConverter();
            var invertedVisibilityConverter = new MvxInvertedVisibilityValueConverter();
            var colorConverter = new MvxNativeColorValueConverter();
            var bindingSet     = this.CreateBindingSet <OnboardingViewController, OnboardingViewModel>();

            //Commands
            bindingSet.Bind(Skip).To(vm => vm.SkipCommand);
            bindingSet.Bind(Next).To(vm => vm.NextCommand);
            bindingSet.Bind(Login).To(vm => vm.LoginCommand);
            bindingSet.Bind(SignUp).To(vm => vm.SignUpCommand);
            bindingSet.Bind(Previous).To(vm => vm.PreviousCommand);

            //Color
            bindingSet.Bind(View)
            .For(v => v.BindAnimatedBackground())
            .To(vm => vm.BackgroundColor)
            .WithConversion(colorConverter);

            bindingSet.Bind(PhoneFrame)
            .For(v => v.BindAnimatedBackground())
            .To(vm => vm.BorderColor)
            .WithConversion(colorConverter);

            //Visibility
            bindingSet.Bind(PhoneContents)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(LastPageItems)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(Next)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(ScrollView)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(Skip)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(Previous)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsFirstPage)
            .WithConversion(invertedVisibilityConverter);

            //Current Page
            bindingSet.Bind(ScrollView)
            .For(v => v.BindCurrentPage())
            .To(vm => vm.CurrentPage);

            bindingSet.Bind(PageControl)
            .For(v => v.CurrentPage)
            .To(vm => vm.CurrentPage);

            bindingSet.Apply();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            preparePlaceholders();

            if (UIDevice.CurrentDevice.CheckSystemVersion(11, 0))
            {
                var navigationBarHeight = NavigationController.NavigationBar.Frame.Height;
                AdditionalSafeAreaInsets = new UIEdgeInsets(-navigationBarHeight, 0, 0, 0);
            }

            PageControl.Pages    = ViewModel.NumberOfPages;
            FirstPageLabel.Text  = Resources.OnboardingTrackPageCopy;
            SecondPageLabel.Text = Resources.OnboardingMostUsedPageCopy;
            ThirdPageLabel.Text  = Resources.OnboardingReportsPageCopy;

            var visibilityConverter         = new MvxVisibilityValueConverter();
            var invertedVisibilityConverter = new MvxInvertedVisibilityValueConverter();
            var colorConverter = new MvxNativeColorValueConverter();
            var bindingSet     = this.CreateBindingSet <OnboardingViewController, OnboardingViewModel>();

            var pagedBackgroundImageColorConverter = new PaginationValueConverter <UIImage>(new[]
            {
                UIImage.FromBundle("bgNoiseBlue"),
                UIImage.FromBundle("bgNoisePurple"),
                UIImage.FromBundle("bgNoiseYellow"),
                UIImage.FromBundle("bgNoiseBlue")
            });

            //Commands
            bindingSet.Bind(Skip).To(vm => vm.SkipCommand);
            bindingSet.Bind(Next).To(vm => vm.NextCommand);
            bindingSet.Bind(Login).To(vm => vm.LoginCommand);
            bindingSet.Bind(SignUp).To(vm => vm.SignUpCommand);
            bindingSet.Bind(Previous).To(vm => vm.PreviousCommand);

            //Color
            bindingSet.Bind(View)
            .For(v => v.BindAnimatedBackground())
            .To(vm => vm.BackgroundColor)
            .WithConversion(colorConverter);

            bindingSet.Bind(PhoneFrame)
            .For(v => v.BindAnimatedBackground())
            .To(vm => vm.BorderColor)
            .WithConversion(colorConverter);

            //Noise image
            bindingSet.Bind(BackgroundImage)
            .For(v => v.BindAnimatedImage())
            .To(vm => vm.CurrentPage)
            .WithConversion(pagedBackgroundImageColorConverter);

            //Visibility
            bindingSet.Bind(PhoneContents)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(LastPageItems)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(Next)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(ScrollView)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(Skip)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsLastPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(Previous)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsFirstPage)
            .WithConversion(invertedVisibilityConverter);

            bindingSet.Bind(trackPagePlaceholder)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsTrackPage)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(mostUsedPagePlaceholder)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsMostUsedPage)
            .WithConversion(visibilityConverter);

            bindingSet.Bind(reportsPagePlaceholder)
            .For(v => v.BindVisibility())
            .To(vm => vm.IsSummaryPage)
            .WithConversion(visibilityConverter);


            //Current Page
            bindingSet.Bind(ScrollView)
            .For(v => v.BindAnimatedCurrentPage())
            .To(vm => vm.CurrentPage);

            bindingSet.Bind(PageControl)
            .For(v => v.CurrentPage)
            .To(vm => vm.CurrentPage);

            bindingSet.Apply();
        }