示例#1
0
        public void OnGestureEvent(INuimoController controller, NuimoGestureEvent nuimoGestureEvent)
        {
            if (!IsInitialized)
            {
                controller.DisplayLedMatrixAsync(Icons.Cross);
                return;
            }

            switch (nuimoGestureEvent.Gesture)
            {
            case NuimoGesture.ButtonPress:
                var newState = SwitchGroupOnOff();
                var matrix   = GetPowerMatrix(newState);
                controller.DisplayLedMatrixAsync(matrix);
                break;

            case NuimoGesture.Rotate:
                var newBrightness    = ChangeBrightness(nuimoGestureEvent.Value) / 255.0;
                var brightnessMatrix = ProgressBars.VerticalBar(newBrightness);
                controller.DisplayLedMatrixAsync(brightnessMatrix);
                break;

            case NuimoGesture.SwipeLeft:
            case NuimoGesture.SwipeRight:
                var newRoom       = SwitchRoom(nuimoGestureEvent.Gesture);
                var matrixForRoom = MatrixForRoomClass(newRoom);
                controller.DisplayLedMatrixAsync(matrixForRoom);
                break;

            default:
                break;
            }
        }
示例#2
0
 public void Display()
 {
     if (ProgressBars != null)
     {
         foreach (ProgressBar pb in ProgressBars)
         {
             pb.Value = mController.Percent(ProgressBars.IndexOf(pb));
         }
     }
 }
示例#3
0
 void RegisterEvents()
 {
     ViewModel.PropertyChanged += (sender, e) =>
     {
         if (e.PropertyName == "CurrentViewPage")
         {
             Device.BeginInvokeOnMainThread(() => BoxGrid = ProgressBars.GenerateProgressBars(ViewModel.CurrentViewPage));
         }
     };
 }
示例#4
0
        void CreateUI()
        {
            var list = ViewModel.GetSOSListModel;

            foreach (var l in list)
            {
                l.Image = l.Image.CorrectedImageSource();
            }

            var carousel = new CarouselView
            {
                ItemsSource   = list,
                HeightRequest = App.ScreenSize.Height * .7,
                IsEnabled     = true,
                ItemTemplate  = new DataTemplate(typeof(SOSViewCell))
            };

            carousel.PositionSelected += Carousel_PositionSelected;

            BoxGrid = ProgressBars.GenerateProgressBars(ViewModel.CurrentViewPage);

            Content = new StackLayout
            {
                WidthRequest      = App.ScreenSize.Width,
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                VerticalOptions   = LayoutOptions.Start,
                Children          =
                {
                    new TopBar(true,                   "",          this,              1, "back_arrow", "icon_user").CreateTopBar(),
                    new TitleBar("SOS - What to do?"),
                    new StackLayout
                    {
                        HeightRequest   = App.ScreenSize.Height * .15,
                        VerticalOptions = LayoutOptions.Center,
                        Children        =
                        {
                            new Label {
                                Text = ViewModel.GetSOSMainTitle,TextColor = Color.White, FontSize = 24, FontFamily = Helper.RegFont, HorizontalTextAlignment = TextAlignment.Center
                            }
                        }
                    },
                    new BoxView {
                        WidthRequest = App.ScreenSize.Width,HeightRequest = 1, BackgroundColor = Color.White
                    },
                    new StackLayout
                    {
                        Padding  = new Thickness(0,            24),
                        Children = { carousel,         BoxGrid }
                    }
                }
            };
        }
示例#5
0
        public void StopMainProgressBars()
        {
            foreach (var bar in ProgressBars)
            {
                this.MainGrid.Children.Remove(bar);
            }

            foreach (var textBlock in PosesTextBlocks)
            {
                this.MainGrid.Children.Remove(textBlock);
            }

            ProgressBars.Clear();
            PosesTextBlocks.Clear();
        }
示例#6
0
        public void RegisterComponent(IComponent component)
        {
            if (!Components.TryAdd(component.ComponentName, component))
            {
                // TODO: what should I do in this case?
                //Console.WriteLine($"Unable to register component '{component.ComponentName}' in page '{GetType().Name}'");
            }

            if (component is IHtmlAlert)
            {
                Alerts.Add(component as IHtmlAlert);
            }
            else if (component is IOverlay)
            {
                Overlays.Add(component as IOverlay);
            }
            else if (component is IProgressBar)
            {
                ProgressBars.Add(component as IProgressBar);
            }
        }
示例#7
0
 public void OnGestureEvent(INuimoController sender, NuimoGestureEvent nuimoGestureEvent)
 {
     if (nuimoGestureEvent.Gesture == NuimoGesture.Rotate)
     {
         if (nuimoGestureEvent.Value > 0)
         {
             TestValue += 0.1;
         }
         else if (nuimoGestureEvent.Value < 0)
         {
             TestValue -= 0.1;
         }
         var progressMatrix = ProgressBars.VerticalBar(TestValue);
         sender.DisplayLedMatrixAsync(progressMatrix, 2,
                                      NuimoLedMatrixWriteOptions.WithFadeTransition | NuimoLedMatrixWriteOptions.WithoutWriteResponse);
     }
     if (nuimoGestureEvent.Gesture == NuimoGesture.ButtonPress)
     {
         sender.DisplayLedMatrixAsync(NuimoBuiltinLedMatrix.Busy);
     }
     Debug.WriteLine(nuimoGestureEvent.Gesture);
 }
示例#8
0
        private void ChangeProgressBar(ProgressBars pb, ProgressValues type, int value, string status)
        {
            try
            {
                if (InvokeRequired)
                {
                    BeginInvoke(new ChangeProgressBarCallBack(ChangeProgressBar), new object[] { pb, type, value, status });
                }
                else
                {
                    if ((status != null) && (status.Length > 0))
                    {
                        labelSync.Text = "Synchronizing: " + status;
                    }
                    ProgressBar p;
                    if (pb == ProgressBars.PBSync)
                        p = progressBarSync;
                    else
                        p = progressBarPhoto;

                    switch (type)
                    {
                        case ProgressValues.PBValue:
                            if (value < p.Minimum)
                                value = p.Minimum;
                            if (value > p.Maximum)
                                value = p.Maximum;

                            p.Value = value;
                            break;
                        case ProgressValues.PBMinimum:
                            p.Minimum = value;
                            break;
                        case ProgressValues.PBMaximum:
                            p.Maximum = value;
                            break;
                    }

                    if (pb == ProgressBars.PBSync)
                    {
                        int percent = 0;
                        if (p.Maximum != 0)
                            percent = p.Value * 100 / p.Maximum;

                        if (percent < 0)
                            percent = 0;
                        if (percent > 100)
                            percent = 100;

                        this.Text = "FlickrSync Synchronizing..." + percent.ToString() + @"%";
                    }
                }
            }
            catch (Exception)
            {
            }
        }
示例#9
0
 private void ChangeProgressBar(ProgressBars pb, ProgressValues type, int value)
 {
     ChangeProgressBar(pb, type, value, null);
 }
示例#10
0
 public ProgressBar GetProgressBar(ProgressBars bar)
 {
     return(mProgressBars[(int)bar]);
 }
示例#11
0
        public void AddElement(BrowserElement element)
        {
            element.OrderIndex = AddedElements++;
            //element.Position = this.Position;
            switch (element.Type)
            {
            case BrowserElementType.BrowserBoxSelection:
                BrowserBoxSelection boxSelection = element as BrowserBoxSelection;

                break;

            case BrowserElementType.Button:
                BrowserButton button = element as BrowserButton;
                Buttons.Add(button);
                break;

            case BrowserElementType.Title:
                BrowserTitle title = element as BrowserTitle;
                Titles.Add(title);
                break;

            case BrowserElementType.Text:
                BrowserText text = element as BrowserText;
                Texts.Add(text);
                break;

            case BrowserElementType.TextBox:
                BrowserTextBox textBox = element as BrowserTextBox;
                TextBoxes.Add(textBox);
                break;

            case BrowserElementType.Card:
                BrowserCard card = element as BrowserCard;
                Cards.Add(card);
                break;

            case BrowserElementType.Password:
                BrowserPasswordTextBox passwordTextBox = element as BrowserPasswordTextBox;
                PasswordTextBoxes.Add(passwordTextBox);
                break;

            //case BrowserElementType.YesNoDialog:
            //    BrowserYesNoDialog yesNoDialog = element as BrowserYesNoDialog;
            //    YesNoDialog = yesNoDialog;
            //    break;
            case BrowserElementType.Checkbox:
                BrowserCheckBox checkBox = element as BrowserCheckBox;
                CheckBoxes.Add(checkBox);
                break;

            case BrowserElementType.DropDown:
                BrowserDropDown dropDown = element as BrowserDropDown;
                DropDowns.Add(dropDown);
                break;

            case BrowserElementType.ProgressBar:
                BrowserProgressBar progressBar = element as BrowserProgressBar;
                ProgressBars.Add(progressBar);
                break;

            case BrowserElementType.Container:
                BrowserContainer container = element as BrowserContainer;
                Container.Add(container);
                break;

            case BrowserElementType.Icon:
                BrowserButtonIcon icon = element as BrowserButtonIcon;
                Icons.Add(icon);
                break;

            default:
                NAPI.Util.ConsoleOutput($"UNKNOWN ELEMENT OF TYPE {element.Type}");
                break;
            }
        }