public WrappedTextBlock(BandColor color)
 {
     AutoHeight  = DefaultAutoHeight;
     Color       = color;
     ColorSource = DefaultColorSource;
     Font        = DefaultFont;
 }
 public WrappedTextBlock(BandColor color)
 {
     AutoHeight = DefaultAutoHeight;
     Color = color;
     ColorSource = DefaultColorSource;
     Font = DefaultFont;
 }
        async partial void ToggleCustomTileClick(UIButton sender)
        {
            if (client != null && client.IsDeviceConnected)
            {
                Output("Creating tile...");

                NSError operationError;
                var     tileName  = "A tile";
                var     tileIcon  = BandIcon.FromUIImage(UIImage.FromBundle("A.png"), out operationError);
                var     smallIcon = BandIcon.FromUIImage(UIImage.FromBundle("Aa.png"), out operationError);
                var     tile      = BandTile.Create(customId, tileName, tileIcon, smallIcon, out operationError);

                var textBlock = new BandTextBlock(BandRect.Create(0, 0, 230, 40), BandTextBlockFont.Small, 25);
                textBlock.ElementId           = 10;
                textBlock.HorizontalAlignment = BandPageElementHorizontalAlignment.Left;
                textBlock.BaselineAlignment   = BandTextBlockBaselineAlignment.Absolute;
                textBlock.Color = BandColor.FromRgb(0xff, 0xff, 0xff);

                var barcode = new BandBarcode(BandRect.Create(0, 5, 230, 95), BandBarcodeType.CODE39);
                barcode.ElementId = 11;
                barcode.Color     = BandColor.FromRgb(0xff, 0xff, 0xff);

                var flowList = new BandFlowList(BandRect.Create(15, 0, 260, 105), BandFlowListOrientation.Vertical);
                flowList.Margins = BandMargins.Create(0, 0, 0, 0);
                flowList.Color   = null;
                flowList.Children.Add(textBlock);
                flowList.Children.Add(barcode);

                var pageLaypout = new BandPageLayout();
                pageLaypout.Root = flowList;
                tile.PageLayouts.Add(pageLaypout);

                try {
                    Output("Adding tile...");
                    await client.TileManager.AddTileTaskAsync(tile);
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }

                try {
                    Output("Creating page...");
                    var pageValues = new BandPageElementData [] {
                        BandPageBarcodeCode39Data.Create(11, "A1 B", out operationError),
                        BandPageTextData.Create(10, "Barcode value: A1 B", out operationError)
                    };
                    var page = BandPageData.Create(pageId, 0, pageValues);

                    await client.TileManager.SetPagesTaskAsync(new[] { page }, customId);

                    Output("Completed custom page!");
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }
            }
            else
            {
                Output("Band is not connected. Please wait....");
            }
        }
 public override int GetHashCode()
 {
     return(BandColor.GetHashCode() +
            BandSpace +
            BandCount +
            Multiplier.GetHashCode() +
            BandWidth.GetHashCode() +
            BandRadius.GetHashCode());
 }
 public TextBlock(BandColor color)
 {
     AutoWidth         = DefaultAutoWidth;
     Baseline          = DefaultBaseline;
     BaselineAlignment = DefaultBaselineAlignment;
     Color             = color;
     ColorSource       = DefaultColorSource;
     Font = DefaultFont;
 }
 public TextBlock(BandColor color)
 {
     AutoWidth = DefaultAutoWidth;
     Baseline = DefaultBaseline;
     BaselineAlignment = DefaultBaselineAlignment;
     Color = color;
     ColorSource = DefaultColorSource;
     Font = DefaultFont;
 }
Exemple #7
0
 public BandTheme(BandColor baseColor, BandColor highContrastColor, BandColor highlightColor, BandColor lowlightColor, BandColor mutedColor, BandColor secondaryTextColor)
     : this()
 {
     Base          = baseColor;
     HighContrast  = highContrastColor;
     Highlight     = highlightColor;
     Lowlight      = lowlightColor;
     Muted         = mutedColor;
     SecondaryText = secondaryTextColor;
 }
 public BandTheme(BandColor baseColor, BandColor highContrastColor, BandColor highlightColor, BandColor lowlightColor, BandColor mutedColor, BandColor secondaryTextColor)
     : this()
 {
     Base = baseColor;
     HighContrast = highContrastColor;
     Highlight = highlightColor;
     Lowlight = lowlightColor;
     Muted = mutedColor;
     SecondaryText = secondaryTextColor;
 }
Exemple #9
0
        public static async Task <BandColor> _BandColor(object value)
        {
            BandColor bc = Colors.Purple.ToBandColor();

            if (value is Color)
            {
                Color c = (Color)value;
                bc = c.ToBandColor();
            }
            return(bc);
        }
        public int CalculateOhmValue(string bandAColor, string bandBColor, string bandCColor, string bandDColor)
        {
            var bandA = BandColor.FindByColor(bandAColor);
            var bandB = BandColor.FindByColor(bandBColor);
            var bandC = BandColor.FindByColor(bandCColor);
            // Since we're returning a single int in this example, won't bother calculating upper/lower ranges.
            var bandD = BandColor.FindByColor(bandDColor);

            // Ideally put in checking for invalid band colors, ex: Gold/Silver/None can't be band A or B in this case

            // Result should be [BandA Digit][BandB Digit] * [BandC Multiplier]
            string digits = $"{bandA.Digit}{bandB.Digit}";

            return((int)(int.Parse(digits) * bandC.Multiplier));
        }
        public override async void OnAppearing(object navigationContext)
        {
            // Init
            BandClient = navigationContext as BandClient;
            _personalizationManager = BandClient.PersonalizationManager;

            Base          = new BandColor(10, 110, 20);
            HighContrast  = new BandColor(20, 120, 30);
            Highlight     = new BandColor(30, 130, 40);
            Lowlight      = new BandColor(40, 140, 50);
            Muted         = new BandColor(50, 150, 60);
            SecondaryText = new BandColor(60, 160, 70);
            MeTileImage   = await ResourcesHelper.LoadBandImageFromResourceAsync("Resources/metile.png");

            base.OnAppearing(navigationContext);
        }
Exemple #12
0
        public override bool Equals(object obj)
        {
            if (!(obj is BandColor))
            {
                return(this.Equals(obj));
            }

            BandColor color1 = this;
            BandColor color2 = (BandColor)obj;

            return
                (color1.isInitialized == color2.isInitialized &&
                 color1.r == color2.r &&
                 color1.g == color2.g &&
                 color1.b == color2.b);
        }
 internal FilledButtonData(NativeFilledButtonData native)
     : base(native)
 {
     PressedColor = native.PressedColor.FromNative();
 }
 internal TextButton(NativeTextButton native)
     : base(native)
 {
     PressedColor = native.PressedColor.FromNative();
 }
 public TextButton(BandColor pressedColor)
 {
     PressedColor = pressedColor;
 }
 public ScrollFlowPanel(BandColor scrollBarColor)
 {
     ScrollBarColor = scrollBarColor;
     ScrollBarColorSource = DefaultScrollBarColorSource;
 }
 public Icon(BandColor color)
 {
     Color       = color;
     ColorSource = DefaultColorSource;
 }
Exemple #18
0
 public FilledPanel(BandColor backgroundColor)
 {
     BackgroundColor       = backgroundColor;
     BackgroundColorSource = DefaultBackgroundColorSource;
 }
Exemple #19
0
 /// <summary>
 /// 配色情報の変換
 /// </summary>
 /// <param name="color">共通配色情報</param>
 /// <returns>ネイティブ配色情報</returns>
 public static Native.Personalization.BandColor ToNative(BandColor color)
 {
     return(Native.Personalization.BandColor.FromRgb(color.R, color.G, color.B));
 }
 internal FilledButton(NativeFilledButton native)
     : base(native)
 {
     BackgroundColor = native.BackgroundColor.FromNative();
 }
 internal FilledButton(NativeFilledButton native)
     : base(native)
 {
     BackgroundColor = native.BackgroundColor.FromNative();
 }
Exemple #22
0
 internal FilledButtonData(NativeFilledButtonData native)
     : base(native)
 {
     PressedColor = native.PressedColor.FromNative();
 }
Exemple #23
0
 /// <summary>
 /// BandColor をカラーコード文字列に変換する
 /// </summary>
 /// <param name="color">BandColor</param>
 /// <returns>カラーコード</returns>
 private static string ColorToString(BandColor color)
 {
     return(string.Format("#FF{0}{1}{2}", color.R.ToString("X2"), color.G.ToString("X2"), color.B.ToString("X2")));
 }
Exemple #24
0
 /// <summary>
 /// 配色情報の変換
 /// </summary>
 /// <param name="color">共通配色情報</param>
 /// <returns>ネイティブ配色情報</returns>
 public static Color ToNative(BandColor color)
 {
     return(new Color(color.R, color.G, color.B));
 }
        internal async void Initialize()
        {
            var bandManager = BandClientManager.Instance;
            var pairedBands = await bandManager.GetBandsAsync();

            try
            {
                if (pairedBands.Length < 1)
                {
                    info.Text = "Could not connect";
                    return;
                }

                bandClient = await bandManager.ConnectAsync(pairedBands[0]);

                info.Text = "Connected to Band";
                lastMove  = DateTime.Now;

                // Create a Tile with a TextButton on it.
                BandTile myTile = new BandTile(myTileId)
                {
                    Name      = "My Teletouch",
                    TileIcon  = await LoadIcon("ms-appx:///Assets/BandTileIconLarge.png"),
                    SmallIcon = await LoadIcon("ms-appx:///Assets/BandTileIconSmall.png")
                };
                myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/left.png"));
                myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/center.png"));
                myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/right.png"));
                myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/switch.png"));
                myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/switch1.png"));
                myTile.AdditionalIcons.Add(await LoadIcon("ms-appx:///Assets/switch2.png"));

                // get the current theme from the Band
                BandTheme theme = await bandClient.PersonalizationManager.GetThemeAsync();

                BandColor colorButton        = theme.Base;
                BandColor colorButtonPressed = new BandColor(0xFF, 0xFF, 0xFF);
                PageRect  rect1 = new PageRect(5, 0, 60, 110);
                PageRect  rect2 = new PageRect(70, 0, 60, 110);
                PageRect  rect3 = new PageRect(135, 0, 60, 110);
                PageRect  rect4 = new PageRect(200, 0, 40, 35);
                PageRect  rect5 = new PageRect(200, 37, 40, 35);
                PageRect  rect6 = new PageRect(200, 75, 40, 35);

                FilledButton buttonLeft = new FilledButton()
                {
                    ElementId = 1, Rect = rect1, BackgroundColor = colorButton
                };
                FilledButton buttonCenter = new FilledButton()
                {
                    ElementId = 2, Rect = rect2, BackgroundColor = colorButton
                };
                FilledButton buttonRight = new FilledButton()
                {
                    ElementId = 3, Rect = rect3, BackgroundColor = colorButton
                };
                FilledButton buttonSwitch = new FilledButton()
                {
                    ElementId = 4, Rect = rect4, BackgroundColor = colorButton
                };
                FilledButton buttonLock = new FilledButton()
                {
                    ElementId = 5, Rect = rect5, BackgroundColor = colorButton
                };
                FilledButton buttonOnOff = new FilledButton()
                {
                    ElementId = 6, Rect = rect6, BackgroundColor = colorButton
                };
                Icon iconLeft = new Icon()
                {
                    ElementId = 7, Rect = rect1, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center
                };
                Icon iconCenter = new Icon()
                {
                    ElementId = 8, Rect = rect2, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center
                };
                Icon iconRight = new Icon()
                {
                    ElementId = 9, Rect = rect3, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center
                };
                Icon iconSwitch = new Icon()
                {
                    ElementId = 10, Rect = rect4, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center
                };
                Icon iconLock = new Icon()
                {
                    ElementId = 11, Rect = rect5, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center
                };
                Icon iconOnOff = new Icon()
                {
                    ElementId = 12, Rect = rect6, Color = colorButtonPressed, HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center, VerticalAlignment = Microsoft.Band.Tiles.Pages.VerticalAlignment.Center
                };

                FilledPanel panel = new FilledPanel(iconLeft, iconCenter, iconRight, iconSwitch, iconLock, iconOnOff,
                                                    buttonLeft, buttonCenter, buttonRight, buttonSwitch, buttonLock, buttonOnOff)
                {
                    Rect = new PageRect(0, 0, 240, 110),
                    HorizontalAlignment = Microsoft.Band.Tiles.Pages.HorizontalAlignment.Center
                };
                myTile.PageLayouts.Add(new PageLayout(panel));

                // Remove the Tile from the Band, if present. An application won't need to do this everytime it runs.
                // But in case you modify this sample code and run it again, let's make sure to start fresh.
                //await bandClient.TileManager.RemoveTileAsync(myTileId);

                // Create the Tile on the Band.
                await bandClient.TileManager.AddTileAsync(myTile);

                await bandClient.TileManager.SetPagesAsync(myTileId, new PageData(pageId, 0,
                                                                                  new FilledButtonData(1, colorButtonPressed),
                                                                                  new FilledButtonData(2, colorButtonPressed),
                                                                                  new FilledButtonData(3, colorButtonPressed),
                                                                                  new FilledButtonData(4, colorButtonPressed),
                                                                                  new FilledButtonData(5, colorButtonPressed),
                                                                                  new FilledButtonData(6, colorButtonPressed),
                                                                                  new IconData(7, 2),
                                                                                  new IconData(8, 3),
                                                                                  new IconData(9, 4),
                                                                                  new IconData(10, 5),
                                                                                  new IconData(11, 6),
                                                                                  new IconData(12, 7)));

                // Subscribe to events
                bandClient.TileManager.TileOpened                 += EventHandler_TileOpened;
                bandClient.TileManager.TileClosed                 += EventHandler_TileClosed;
                bandClient.TileManager.TileButtonPressed          += EventHandler_TileButtonPressed;
                bandClient.SensorManager.Gyroscope.ReadingChanged += Gyroscope_ReadingChanged;

                // Start listening for events
                await bandClient.TileManager.StartReadingsAsync();
            }
            catch (BandException bandException)
            {
                Debug.WriteLine(bandException.Message);
                info.Text = "Could not connect";
            }
        }
Exemple #26
0
        async partial void AddButtonPageClick(UIButton sender)
        {
            if (client != null && client.IsConnected)
            {
                Output("Creating tile...");

                // remove an old tile
                try {
                    var tiles = await client.TileManager.GetTilesTaskAsync();

                    if (tiles.Any(x => x.TileId.AsString() == tileId.AsString()))
                    {
                        // a tile exists, so remove it
                        await client.TileManager.RemoveTileTaskAsync(tileId);

                        Output("Removed tile!");
                    }
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }

                // create the tile
                NSError operationError;
                var     tileName  = "iOS Sample";
                var     tileIcon  = BandIcon.FromUIImage(UIImage.FromBundle("tile.png"), out operationError);
                var     smallIcon = BandIcon.FromUIImage(UIImage.FromBundle("badge.png"), out operationError);
                var     tile      = BandTile.Create(tileId, tileName, tileIcon, smallIcon, out operationError);
                tile.BadgingEnabled = true;

                // create the button page
                var textBlock = new TextBlock(PageRect.Create(0, 0, 200, 40), TextBlockFont.Small);
                textBlock.ElementId           = 10;
                textBlock.Baseline            = 25;
                textBlock.HorizontalAlignment = HorizontalAlignment.Center;
                textBlock.BaselineAlignment   = TextBlockBaselineAlignment.Relative;
                textBlock.AutoWidth           = false;
                textBlock.Color   = BandColor.FromUIColor(UIColor.Red, out operationError);
                textBlock.Margins = Margins.Create(5, 2, 5, 2);

                var button = new TextButton(PageRect.Create(0, 0, 200, 40));
                button.ElementId           = 11;
                button.HorizontalAlignment = HorizontalAlignment.Center;
                button.PressedColor        = BandColor.FromUIColor(UIColor.Purple, out operationError);
                button.Margins             = Margins.Create(5, 2, 5, 2);

                var flowPanel = new FlowPanel(PageRect.Create(15, 0, 260, 105));
                flowPanel.AddElement(textBlock);
                flowPanel.AddElement(button);

                var pageLayout = new PageLayout();
                pageLayout.Root = flowPanel;
                tile.PageLayouts.Add(pageLayout);

                // add the tile to the band
                try {
                    Output("Adding tile...");
                    await client.TileManager.AddTileTaskAsync(tile);
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }

                // set the page data
                try {
                    Output("Creating page data...");
                    var pageValues = new PageElementData [] {
                        TextBlockData.Create(textBlock.ElementId, "TextButton sample", out operationError),
                        TextButtonData.Create(button.ElementId, "Press Me", out operationError)
                    };
                    var page = PageData.Create(barcodePageId, 0, pageValues);

                    await client.TileManager.SetPagesTaskAsync(new[] { page }, tileId);

                    Output("Completed custom page!");
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }
            }
            else
            {
                Output("Band is not connected. Please wait....");
            }
        }
Exemple #27
0
 public ScrollFlowPanel(BandColor scrollBarColor)
 {
     ScrollBarColor       = scrollBarColor;
     ScrollBarColorSource = DefaultScrollBarColorSource;
 }
 public TextButton(BandColor pressedColor)
 {
     PressedColor = pressedColor;
 }
 public FilledPanel(BandColor backgroundColor)
 {
     BackgroundColor = backgroundColor;
     BackgroundColorSource = DefaultBackgroundColorSource;
 }
 internal TextButton(NativeTextButton native)
     : base(native)
 {
     PressedColor = native.PressedColor.FromNative();
 }
		public static Color Convert(BandColor color)
		{
			return Color.FromRgb(color.R, color.G, color.B);
		}
 public static Color Convert(BandColor color)
 {
     return(Color.FromRgb(color.R, color.G, color.B));
 }
 public FilledButton(BandColor backgroundColor)
 {
     BackgroundColor = backgroundColor;
 }
        public ColorCode(BandColor bandColor)
        {
            SignificantDigits = null;
            Multiplier        = null;
            Tolerance         = new Tolerance(0);

            switch (bandColor)
            {
            case BandColor.Black:
            {
                SignificantDigits = 0;
                Multiplier        = 1;
                return;
            }

            case BandColor.Brown:
            {
                SignificantDigits = 1;
                Multiplier        = 10;
                Tolerance         = new Tolerance(1);
                return;
            }

            case BandColor.Red:
            {
                SignificantDigits = 2;
                Multiplier        = 100;
                Tolerance         = new Tolerance(2);
                return;
            }

            case BandColor.Orange:
            {
                SignificantDigits = 3;
                Multiplier        = 1000;
                return;
            }

            case BandColor.Yellow:
            {
                SignificantDigits = 4;
                Multiplier        = 10000;
                return;
            }

            case BandColor.Green:
            {
                SignificantDigits = 5;
                Multiplier        = 100000;
                Tolerance         = new Tolerance(0.5);
                return;
            }

            case BandColor.Blue:
            {
                SignificantDigits = 6;
                Multiplier        = 1000000;
                return;
            }

            case BandColor.Violet:
            {
                SignificantDigits = 7;
                Multiplier        = 10000000;
                return;
            }

            case BandColor.Grey:
            {
                SignificantDigits = 8;
                return;
            }

            case BandColor.Gray:
            {
                SignificantDigits = 8;
                return;
            }

            case BandColor.White:
            {
                SignificantDigits = 9;
                return;
            }

            case BandColor.Gold:
            {
                Tolerance = new Tolerance(5);
                return;
            }

            case BandColor.Silver:
            {
                Tolerance = new Tolerance(10);
                return;
            }

            case BandColor.None:
            {
                SignificantDigits = 0;
                Multiplier        = 0;
                return;
            }

            default:
            {
                return;
            }
            }
        }
 public Icon(BandColor color)
 {
     Color = color;
     ColorSource = DefaultColorSource;
 }
 public FilledButton(BandColor backgroundColor)
 {
     BackgroundColor = backgroundColor;
 }