<commit_before>﻿using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Reflection;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace TabStrip.FormsPlugin.Abstractions
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class TabStripControl : ContentView
    {
        public TabStripControlModel ViewModel { get; set; }
        public ImageSource RightArrow { get; set; }
        public ImageSource LeftArrow { get; set; }
        public TabStripControl()
        {
            InitializeComponent();
            Position = 0;

            ViewModel = new TabStripControlModel();
            RightArrow = ImageSource.FromResource("TabStrip.FormsPlugin.Abstractions.right_arrow.png", Assembly.GetExecutingAssembly());
            LeftArrow = ImageSource.FromResource("TabStrip.FormsPlugin.Abstractions.left_arrow.png", Assembly.GetExecutingAssembly());
        }

        public static readonly BindableProperty PositionProperty = BindableProperty.Create(
            "Position",
            typeof(int),
            typeof(TabStripControl),
            0,
            BindingMode.TwoWay,
            null,
            OnPositionChanged);

        private static void OnPositionChanged(BindableObject bindable, object oldValue, object newValue)
        {
            var control = (TabStripControl)bindable;
            if (control != null)
            {
                control.ViewModel.TabPosition = (int)newValue;
            }
        }

        public int Position
        {<commit_msg>Added BindableProperty funcationality for LeftArrow and RightArrow so the client can specify their own arrows<commit_after>﻿using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Reflection;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace TabStrip.FormsPlugin.Abstractions
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class TabStripControl : ContentView
    {
        public TabStripControlModel ViewModel { get; set; }
        public TabStripControl()
        {
            InitializeComponent();
            Position = 0;

            ViewModel = new TabStripControlModel();
        }

        public static readonly BindableProperty LeftArrowProperty = BindableProperty.Create(
            "LeftArrow",
            typeof(ImageSource),
            typeof(TabStripControl),
            ImageSource.FromResource("TabStrip.FormsPlugin.Abstractions.left_arrow.png", Assembly.GetExecutingAssembly()),
            BindingMode.Default);

        public ImageSource LeftArrow
        {
            get { return (ImageSource)GetValue(LeftArrowProperty); }
            set { SetValue(LeftArrowProperty, value); }
        }

        public static readonly BindableProperty RightArrowProperty = BindableProperty.Create(
            "RightArrow",
            typeof(ImageSource),
            typeof(TabStripControl),
            ImageSource.FromResource("TabStrip.FormsPlugin.Abstractions.right_arrow.png", Assembly.GetExecutingAssembly()),
            BindingMode.Default);

        public ImageSource RightArrow
        {
            get { return (ImageSource)GetValue(RightArrowProperty); }
            set { SetValue(RightArrowProperty, value); }
        }

        public static readonly BindableProperty PositionProperty = BindableProperty.Create(
            "Position",
            typeof(int),
            typeof(TabStripControl),
            0,
            BindingMode.TwoWay,
            null,
            OnPositionChanged);

        private static void OnPositionChanged(BindableObject bindable, object oldValue, object newValue)
        {
            var control = (TabStripControl)bindable;
            if (control != null)
            {
                control.ViewModel.TabPosition = (int)newValue;
            }
        }

        public int Position
        {
{'fraction_non_alphanumeric': 0.0760841998478316, 'fraction_numerical': 0.001014455997971088, 'mean_word_length': 2.4088159031979255, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3954713', 'n_tokens_mistral': 963, 'n_tokens_neox': 975, 'n_words': 204}