public PowerOutletSlider(int id) { SetSizeRequest(180, 180); ampBar = new TouchCurvedProgressBar(); ampBar.SetSizeRequest(170, 135); ampBar.curveStyle = CurveStyle.ThreeQuarterCurve; Put(ampBar, 5, 5); ampBar.Show(); ampText = new TouchLabel(); ampText.WidthRequest = 180; ampText.textAlignment = TouchAlignment.Center; ampText.textRender.unitOfMeasurement = UnitsOfMeasurement.Amperage; ampText.text = "0.0"; ampText.textSize = 20; ampText.textColor = "pri"; Put(ampText, 0, 105); ampText.Show(); ss = new TouchSelectorSwitch(id, 3, 0, TouchOrientation.Horizontal); ss.sliderSize = MySliderSize.Large; ss.WidthRequest = 170; ss.HeightRequest = 30; ss.sliderColorOptions[0] = "grey2"; ss.sliderColorOptions[1] = "pri"; ss.sliderColorOptions[2] = "seca"; ss.textOptions[0] = "Off"; ss.textOptions[1] = "Auto"; ss.textOptions[2] = "On"; Put(ss, 5, 145); ss.Show(); outletName = new TouchLabel(); outletName.textColor = "grey3"; outletName.WidthRequest = 100; outletName.textRender.textWrap = TouchTextWrap.Shrink; outletName.textAlignment = TouchAlignment.Center; Put(outletName, 40, 67); outletName.Show(); statusLabel = new TouchLabel(); statusLabel.text = "Off"; statusLabel.textSize = 20; statusLabel.textColor = "grey4"; statusLabel.WidthRequest = 180; statusLabel.textAlignment = TouchAlignment.Center; Put(statusLabel, 0, 37); statusLabel.Show(); outletSubscriber = new OutputChannelValueSubscriber(OnValueChanged); ShowAll(); }
public SettingsSelectorSwitch(string name, string label1, string label2) : base(name) { selectorSwitch = new TouchSelectorSwitch(2); selectorSwitch.currentSelected = 0; selectorSwitch.sliderSize = MySliderSize.Large; selectorSwitch.sliderColorOptions[0] = "pri"; selectorSwitch.sliderColorOptions[1] = "grey2"; selectorSwitch.SetSizeRequest(170, 30); selectorSwitch.ExposeEvent += OnExpose; Put(selectorSwitch, 120, 0); selectorSwitch.Show(); labels = new string[2]; labels[0] = label1; labels[1] = label2; }
public LightingWindow(params object[] options) : base(false) { sceneTitle = "Lighting"; fixtureName = Devices.Lighting.defaultGadget; if (fixtureName.IsNotEmpty()) { dimmingIsManual = false; } if (options.Length >= 3) { string requestedFixture = options[2] as string; if (requestedFixture != null) { if (Devices.Lighting.CheckGadgetKeyNoThrow(requestedFixture)) { fixtureName = requestedFixture; } } } outletSelectorSwitch = new TouchSelectorSwitch(3); outletSelectorSwitch.WidthRequest = 180; outletSelectorSwitch.sliderColorOptions[1] = "pri"; outletSelectorSwitch.selectedTextColorOptions[1] = "black"; outletSelectorSwitch.sliderColorOptions[2] = "seca"; outletSelectorSwitch.textOptions = new string[] { "Off", "Auto", "On" }; outletSelectorSwitch.SelectorChangedEvent += OnOutletControlSelectorChanged; Put(outletSelectorSwitch, 605, 77); outletSelectorSwitch.Show(); outletStateLabel = new TouchLabel(); outletStateLabel.textAlignment = TouchAlignment.Center; outletStateLabel.WidthRequest = 180; outletStateLabel.textSize = 14; Put(outletStateLabel, 605, 110); outletStateLabel.Show(); dimmingHeader = new TouchLabel(); dimmingHeader.textAlignment = TouchAlignment.Center; dimmingHeader.WidthRequest = 180; dimmingHeader.text = "Dimming Control"; Put(dimmingHeader, 605, 148); dimmingHeader.Show(); modeSelector = new TouchSelectorSwitch(); modeSelector.SetSizeRequest(140, 30); modeSelector.sliderColorOptions[1] = "pri"; modeSelector.selectedTextColorOptions[1] = "black"; modeSelector.textOptions = new string[] { "Manual", "Auto" }; modeSelector.SelectorChangedEvent += OnDimmingModeSelectorChanged; Put(modeSelector, 605, 173); modeSelector.Show(); dimmingProgressBar = new TouchLayeredProgressBar(); dimmingProgressBar.colorProgress = "seca"; dimmingProgressBar.colorProgressSecondary = "pri"; dimmingProgressBar.drawPrimaryWhenEqual = false; dimmingProgressBar.ProgressChangedEvent += OnProgressChanged; dimmingProgressBar.ProgressChangingEvent += OnProgressChanging; dimmingProgressBar.HeightRequest = 280; Put(dimmingProgressBar, 755, 173); dimmingProgressBar.Show(); actualTextBox = new TouchLabel(); actualTextBox.WidthRequest = 140; actualTextBox.textSize = 20; actualTextBox.textColor = "pri"; actualTextBox.textAlignment = TouchAlignment.Center; actualTextBox.textRender.unitOfMeasurement = UnitsOfMeasurement.Percentage; Put(actualTextBox, 605, 209); actualTextBox.Show(); actualLabel = new TouchLabel(); actualLabel.WidthRequest = 140; actualLabel.text = "Current"; actualLabel.textColor = "grey3"; actualLabel.textAlignment = TouchAlignment.Center; Put(actualLabel, 605, 244); actualLabel.Show(); requestedLabel = new TouchLabel(); requestedLabel.WidthRequest = 140; requestedLabel.textSize = 20; requestedLabel.textColor = "seca"; requestedLabel.textAlignment = TouchAlignment.Center; requestedLabel.textRender.unitOfMeasurement = UnitsOfMeasurement.Percentage; Put(requestedLabel, 605, 272); requestedLabel.Show(); requestedTextBox = new TouchTextBox(); requestedTextBox.enableTouch = true; requestedTextBox.TextChangedEvent += (sender, args) => { try { float newLevel = Convert.ToSingle(args.text); if (newLevel < 0.0f) { newLevel = 0.0f; } if (newLevel > 100.0f) { newLevel = 100.0f; } Devices.Lighting.SetDimmingLevel(fixtureName, newLevel); } catch (Exception ex) { MessageBox.Show(ex.Message); args.keepText = false; } }; requestedTextBox.SetSizeRequest(110, 36); requestedTextBox.textSize = 20; requestedTextBox.textColor = "seca"; requestedTextBox.textAlignment = TouchAlignment.Center; requestedTextBox.textRender.unitOfMeasurement = UnitsOfMeasurement.Percentage; requestedTextBox.Visible = false; Put(requestedTextBox, 620, 272); requestedTextBox.Show(); requestedTextLabel = new TouchLabel(); requestedTextLabel.WidthRequest = 140; requestedTextLabel.text = "Requested"; requestedTextLabel.textColor = "grey3"; requestedTextLabel.textAlignment = TouchAlignment.Center; Put(requestedTextLabel, 605, 307); requestedTextLabel.Show(); autoTextBox = new TouchLabel(); autoTextBox.WidthRequest = 140; autoTextBox.Visible = false; autoTextBox.textSize = 20; autoTextBox.textColor = "grey4"; autoTextBox.textAlignment = TouchAlignment.Center; autoTextBox.textRender.unitOfMeasurement = UnitsOfMeasurement.Percentage; Put(autoTextBox, 605, 335); autoTextBox.Show(); autoLabel = new TouchLabel(); autoLabel.WidthRequest = 140; autoLabel.Visible = false; autoLabel.text = "Auto"; autoLabel.textColor = "grey3"; autoLabel.textAlignment = TouchAlignment.Center; Put(autoLabel, 605, 370); autoLabel.Show(); fixtureSettingBtn = new TouchButton(); fixtureSettingBtn.text = Convert.ToChar(0x2699).ToString(); fixtureSettingBtn.SetSizeRequest(30, 30); fixtureSettingBtn.buttonColor = "pri"; fixtureSettingBtn.ButtonReleaseEvent += OnFixtureSettingsButtonReleased; Put(fixtureSettingBtn, 755, 35); fixtureSettingBtn.Show(); lightingStateWidget = new LightingStateWidget(); Put(lightingStateWidget, 55, 77); lightingStateWidget.Show(); combo = new TouchComboBox(Devices.Lighting.GetAllGadgetNames()); combo.comboList.Add("New fixture..."); combo.activeIndex = 0; combo.WidthRequest = 250; combo.ComboChangedEvent += OnComboChanged; Put(combo, 500, 35); combo.Show(); if (fixtureName.IsNotEmpty()) { combo.activeText = fixtureName; } else { combo.activeIndex = 0; } outletSubscriber = new OutputChannelValueSubscriber(OnValueChanged); GetFixtureData(); lightingStateWidget.SetStates(fixtureName); Show(); }