Example #1
0
        protected void OnButtonAddClicked(object sender, EventArgs e)
        {
            ITdiTab mytab = DialogHelper.FindParentTab(this);

            if (mytab == null)
            {
                return;
            }

            var parentDlg = DialogHelper.FindParentEntityDialog(this);

            if (parentDlg == null)
            {
                return;
            }

            if (parentDlg.UoW.IsNew)
            {
                if (CommonDialogs.SaveBeforeCreateSlaveEntity(parentDlg.EntityObject.GetType(), typeof(Proxy)))
                {
                    parentDlg.UoW.Save();
                }
                else
                {
                    return;
                }
            }

            ITdiDialog dlg = new ProxyDlg(CounterpartyUoW.Root);

            mytab.TabParent.AddTab(dlg, mytab);
        }
Example #2
0
        public static string ChoosePrimaryFile()
        {
            IdeaClient    client        = null;
            CommonDialogs commonDialogs = null;

            try
            {
                client = new IdeaClient();
                UtilityCasewareIdea.ShowWindow();
                commonDialogs = client.CommonDialogs();
                string temp = commonDialogs.FileExplorer();
                if (temp != "")
                {
                    client.OpenDatabase(temp);
                }

                return(temp);
            }
            catch (Exception)
            {
                return("");
            }
            finally
            {
                UtilityCasewareIdea.DisposeCom(client);
                UtilityCasewareIdea.DisposeCom(commonDialogs);
            }
        }
        protected void OnButtonAddEnumItemClicked(object sender, EnumItemClickedEventArgs e)
        {
            if (MyOrmDialog.UoW.IsNew)
            {
                if (CommonDialogs.SaveBeforeCreateSlaveEntity(MyOrmDialog.EntityObject.GetType(), typeof(Contract)))
                {
                    MyOrmDialog.UoW.Save();
                }
                else
                {
                    return;
                }
            }
            ITdiDialog dlg = null;

            switch ((ContractType)e.ItemEnum)
            {
            case ContractType.ShortLease:
                dlg = new ContractShortLeaseDlg(CounterpartyUoW.Root);
                break;

            case ContractType.LongLease:
                dlg = new ContractLongLeaseDlg(CounterpartyUoW.Root);
                break;

            case ContractType.Maintenance:
                dlg = new ContractMaintenanceDlg(CounterpartyUoW.Root);
                break;
            }

            MyTab.TabParent.AddTab(dlg, MyTab);
        }
        protected void OnEnumPrintEnumItemClicked(object sender, QS.Widgets.EnumItemClickedEventArgs e)
        {
            if (UoWGeneric.HasChanges)
            {
                if (CommonDialogs.SaveBeforePrint(typeof(CarLoadDocument), "талона"))
                {
                    if (!Save())
                    {
                        return;
                    }
                }
                else
                {
                    return;
                }
            }

            var reportInfo = new QS.Report.ReportInfo {
                Title      = Entity.Title,
                Identifier = "Store.CarLoadDocument",
                Parameters = new System.Collections.Generic.Dictionary <string, object>
                {
                    { "id", Entity.Id }
                },
                PrintType = ReportInfo.PrintingType.MultiplePrinters
            };

            TabParent.OpenTab(
                QSReport.ReportViewDlg.GenerateHashName(reportInfo),
                () => new QSReport.ReportViewDlg(reportInfo),
                this);
        }
Example #5
0
        public void AddComObject()
        {
            TextInputDialog dialog = new TextInputDialog(
                "Add COM object",
                "CLSID or ProgID of COM object:",
                "Enter the CLSID (eg '{0002DF01-0000-0000-C000-000000000046}')\r\n" +
                "or ProgID (eg 'InternetExplorer.Application') of the COM object to create and\r\n" +
                "provide to the WebView as `window.chrome.remoteObjects.example`.",
                "InternetExplorer.Application",
                false);

            if (dialog.ShowDialog() == true)
            {
                Type type = Type.GetTypeFromProgID(dialog.Input, false);
                if (type == null)
                {
                    try
                    {
                        Guid guid = new Guid(dialog.Input);

                        type = Type.GetTypeFromCLSID(guid, false);
                    }
                    catch (Exception) { }
                }
                if (type != null)
                {
                    _remoteObject = Activator.CreateInstance(type);
                    _webView2.AddRemoteObject("example", ref _remoteObject);
                }
                else
                {
                    CommonDialogs.ShowError("Coudn't create COM object.");
                }
            }
        }
Example #6
0
 protected void OnPopupPrintOrder(object sender, EventArgs Arg)
 {
     PrepareSave();
     if (UoWGeneric.HasChanges && CommonDialogs.SaveBeforePrint(typeof(WorkOrder), "заказ-наряда"))
     {
         Save();
     }
     QSProjectsLib.ViewReportExt.Run("order", String.Format("id={0}", Entity.Id));
 }
Example #7
0
        void ExecuteAddCommand()
        {
            var path = CommonDialogs.ShowFolderBrowserDialog();

            _watchFolders.Add(new WatchFolder()
            {
                FolderPath = path, IsWatched = false
            });
        }
Example #8
0
 protected void OnPopupPrintReceipt(object sender, EventArgs Arg)
 {
     PrepareSave();
     if (UoWGeneric.HasChanges && CommonDialogs.SaveBeforePrint(typeof(WorkOrder), "товарного чека"))
     {
         Save();
     }
     QSProjectsLib.ViewReportExt.Run("receipt", String.Format("id={0}&date={1:d}", Entity.Id, Entity.Date), true);
 }
        /// <summary>
        /// Shows all special abillities.
        /// </summary>
        /// <param name="npc">Npc who calls the event</param>
        /// <param name="target">Character who requires interaction</param>
        protected virtual void OnSpecialAbillities(BaseNPC npc, Character target)
        {
            CommonDialogs.OpenSpecialSkillsDialog(target, Singleton.Database.GetAllLearnedSkills(target));
            //CommonFunctions.ShowDialog(target, npc, _OnSpecialAbillities, npc.GetDialogButtons(target));

            //Show dialog
            Common.Actions.OpenMenu(
                target, npc,
                _OnSpecialAbillities,
                DialogType.BookStore,
                npc.GetDialogButtons(target)
                );
        }
Example #10
0
        private void BtnSelectFolder_Click(object sender, RoutedEventArgs e)
        {
            string[] folders = CommonDialogs.ChooseFolder(
                this,
                this.TxtPath.Text,
                Environment.SpecialFolder.Desktop,
                showNewFolderButton: true,
                title: "Select source files folder"
                );

            if (folders.Any())
            {
                this.TxtPath.Text = folders[0];
                this.ScanFolder();
            }
        }
 private void webView2Control1_EnvironmentCreated(object sender, EnvironmentCreatedEventArgs e)
 {
     if (e.Result != 0)
     {
         if (e.Result == 2)
         {
             MessageBox.Show("Couldn't find Edge installation. Do you have a version installed that's compatible with this WebView2 SDK version?",
                             "Error", MessageBoxButtons.OK);
         }
         else
         {
             CommonDialogs.ShowFailure(e.Result, "Failed to create webview environment");
         }
         return;
     }
     _environment     = e.WebViewEnvironment;
     _newVersionToken = _environment.RegisterNewVersionAvailable(OnNewVersionAvailable);
 }
Example #12
0
        private void SelectProjectsButton_Click(object sender, EventArgs e)
        {
            var items = ProjectCheckedListBox.SelectedFolders();

            if (items.Count == 0)
            {
                MessageBox.Show(@"Need one or more projects selected to continue");
                return;
            }

            var sb = new StringBuilder();

            sb.AppendLine("mkdir code");
            sb.AppendLine("cd code");
            sb.AppendLine("git init");
            sb.AppendLine($"git remote add -f origin {_repository}");
            sb.AppendLine("git sparse-checkout init --cone");

            foreach (var project in items)
            {
                sb.AppendLine($"git sparse-checkout add {project}");
            }

            sb.AppendLine("git pull origin master");

            sb.AppendLine(":clean-up");
            sb.AppendLine("del .gitattributes");
            sb.AppendLine("del .gitignore");
            sb.AppendLine("del .yml");
            sb.AppendLine("del .editorconfig");
            sb.AppendLine("del *.md");
            sb.AppendLine("del *.sln");

            /*
             * Batch file name is hard coded, feel free to change this as see fit
             */
            File.WriteAllText("GitDownloadScript.bat", sb.ToString());


            if (CommonDialogs.Question("Copy script to Windows Clipboard?"))
            {
                Clipboard.SetText(sb.ToString());
            }
        }
Example #13
0
        protected void OnButtonPrintClicked(object sender, EventArgs e)
        {
            if (UoWGeneric.HasChanges && CommonDialogs.SaveBeforePrint(typeof(Expense), "квитанции"))
            {
                Save();
            }

            var reportInfo = new QS.Report.ReportInfo {
                Title      = String.Format("Квитанция №{0} от {1:d}", Entity.Id, Entity.Date),
                Identifier = "Cash.Expense",
                Parameters = new Dictionary <string, object> {
                    { "id", Entity.Id }
                }
            };

            var report = new QSReport.ReportViewDlg(reportInfo);

            TabParent.AddTab(report, this, false);
        }
Example #14
0
 protected void OnRadiobuttonStickerToggled(object sender, EventArgs e)
 {
     if (radiobuttonSticker.Active)
     {
         if (UoWGeneric.HasChanges)
         {
             if (CommonDialogs.SaveBeforePrint(typeof(Equipment), "наклейки"))
             {
                 UoWGeneric.Save();
             }
             else if (UoWGeneric.IsNew)
             {
                 radiobuttonInfo.Active = true;
                 return;
             }
         }
         notebook1.CurrentPage = 1;
         PreparedReport();
     }
 }
 /// <summary>
 /// Prompt the user for some script and then execute it.
 /// </summary>
 public void InjectScript()
 {
     TextInputDialog dialog = new TextInputDialog(
         "Inject Script",
         "Enter script code:",
         "Enter the JavaScript code to run in the webview.",
         "window.getComputedStyle(document.body).backgroundColor",
         false);
     if (dialog.ShowDialog() == DialogResult.OK)
     {
         _webView2.ExecuteScript(dialog.Input, (args) =>
         {
             if (args.ErrorCode != 0)
             {
                 CommonDialogs.ShowFailure(args.ErrorCode, "ExecuteScript failed");
             }
             MessageBox.Show(args.ResultAsJson, "ExecuteScript Result", MessageBoxButtons.OK);
         });
     }
 }
        protected void OnButtonPrintClicked(object sender, EventArgs e)
        {
            if (UoWGeneric.HasChanges && CommonDialogs.SaveBeforePrint(typeof(ShiftChangeWarehouseDocument), "акта передачи склада"))
            {
                Save();
            }

            var reportInfo = new QS.Report.ReportInfo {
                Title      = String.Format("Акт передачи склада №{0} от {1:d}", Entity.Id, Entity.TimeStamp),
                Identifier = "Store.ShiftChangeWarehouse",
                Parameters = new Dictionary <string, object> {
                    { "document_id", Entity.Id }
                }
            };

            TabParent.OpenTab(
                QSReport.ReportViewDlg.GenerateHashName(reportInfo),
                () => new QSReport.ReportViewDlg(reportInfo)
                );
        }
Example #17
0
        protected void OnButtonPrintClicked(object sender, EventArgs e)
        {
            if (UoWGeneric.HasChanges && CommonDialogs.SaveBeforePrint(typeof(InventoryDocument), "акта инвентаризации"))
            {
                Save();
            }

            var reportInfo = new QS.Report.ReportInfo {
                Title      = String.Format("Акт инвентаризации №{0} от {1:d}", Entity.Id, Entity.TimeStamp),
                Identifier = "Store.InventoryDoc",
                Parameters = new Dictionary <string, object> {
                    { "inventory_id", Entity.Id }
                }
            };

            TabParent.OpenTab(
                QSReport.ReportViewDlg.GenerateHashName(reportInfo),
                () => new QSReport.ReportViewDlg(reportInfo)
                );
        }
Example #18
0
        /// <summary>
        /// Called when the pressure sensor's unit is changed.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="args">Arguments.</param>
        private void OnPressureUnitChanged(object sender, EventArgs args)
        {
            if (pressureSensor.isEditable)
            {
                var dialog = CommonDialogs.CreateUnitPicker(Strings.Measure.PICK_UNIT, pressureSensor.supportedUnits, (obj, unit) => {
                    pressureUnit = unit;
                    if (pressureSensor != null && pressureSensor.isEditable)
                    {
                        pressureSensor.unit = pressureUnit;
                    }
                    buttonPressureUnit.SetTitle(unit + "", UIControlState.Normal);
                });

                var popover = dialog.PopoverPresentationController;
                if (popover != null)
                {
                    popover.SourceView = View;
                }
                this.PresentViewController(dialog, true, null);
            }
        }
        void OnButtonAddClicked(object sender, EventArgs e)
        {
            if (MyOrmDialog.UoW.IsNew)
            {
                if (CommonDialogs.SaveBeforeCreateSlaveEntity(MyOrmDialog.EntityObject.GetType(), typeof(DeliveryPoint)))
                {
                    if (!MyTdiDialog.Save())
                    {
                        return;
                    }
                }
                else
                {
                    return;
                }
            }

            ITdiDialog dlg = new DeliveryPointDlg(DeliveryPointUoW.Root);

            MyTab.TabParent.AddSlaveTab(MyTab, dlg);
        }
Example #20
0
        protected void OnButtonPrintClicked(object sender, EventArgs e)
        {
            if (UoWGeneric.HasChanges && CommonDialogs.SaveBeforePrint(typeof(CarUnloadDocument), "талона"))
            {
                Save();
            }

            var reportInfo = new QS.Report.ReportInfo {
                Title      = Entity.Title,
                Identifier = "Store.CarUnloadDoc",
                Parameters = new Dictionary <string, object>
                {
                    { "id", Entity.Id }
                }
            };

            TabParent.OpenTab(
                QSReport.ReportViewDlg.GenerateHashName(reportInfo),
                () => new QSReport.ReportViewDlg(reportInfo),
                this);
        }
Example #21
0
        protected void OnEnumPrintEnumItemClicked(object sender, EnumItemClickedEventArgs e)
        {
            if (UoWGeneric.HasChanges && CommonDialogs.SaveBeforePrint(typeof(CarLoadDocument), "талона"))
            {
                Save();
            }

            var reportInfo = new QS.Report.ReportInfo {
                Title      = Entity.Title,
                Identifier = CarLoadPrintableDocuments.Common.Equals(e.ItemEnum) ? "Store.CarLoadDoc" : "Store.CarLoadDocPallets",
                Parameters = new System.Collections.Generic.Dictionary <string, object>
                {
                    { "id", Entity.Id }
                }
            };

            TabParent.OpenTab(
                QSReport.ReportViewDlg.GenerateHashName(reportInfo),
                () => new QSReport.ReportViewDlg(reportInfo),
                this);
        }
        private void OnButtonAddClicked(object sender, EventArgs e)
        {
            if (MyOrmDialog.UoW.IsNew)
            {
                if (CommonDialogs.SaveBeforeCreateSlaveEntity(MyEntityDialog.EntityObject.GetType(), typeof(DeliveryPoint)))
                {
                    if (!MyTdiDialog.Save())
                    {
                        return;
                    }
                }
                else
                {
                    return;
                }
            }

            var dpViewModel = _deliveryPointViewModelFactory.GetForCreationDeliveryPointViewModel(_counterparty);

            MyTab.TabParent.AddSlaveTab(MyTab, dpViewModel);
            dpViewModel.EntitySaved += (o, args) => UpdateNodes();
        }
Example #23
0
        /// <summary>
        /// Called when the temperature sensor's unit is changed.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="args">Arguments.</param>
        private void OnTemperatureUnitChanged(object sensor, EventArgs args)
        {
            if (temperatureSensor.isEditable)
            {
                var dialog = CommonDialogs.CreateUnitPicker(Strings.Measure.PICK_UNIT, temperatureSensor.supportedUnits, (obj, unit) => {
                    temperatureUnit = unit;
                    if (temperatureSensor != null && temperatureSensor.isEditable)
                    {
                        temperatureSensor.unit = temperatureUnit;
                    }
                    OnPressureSensorChanged(new SensorEvent(SensorEvent.EType.Invalidated, pressureSensor));
                    buttonTemperatureUnit.SetTitle(unit + "", UIControlState.Normal);
                });

                var popover = dialog.PopoverPresentationController;
                if (popover != null)
                {
                    popover.SourceView = View;
                }
                this.PresentViewController(dialog, true, null);
            }
        }
Example #24
0
        /// <summary>
        /// Initializes the state and the event handlers for the temperature widgets.
        /// </summary>
        private void InitTemperatureWidgets()
        {
            imageTemperatureLock.Image = UIImage.FromBundle("ic_lock");
            viewTemperatureTouchArea.AddGestureRecognizer(new UITapGestureRecognizer(() => {
                if (!temperatureSensorLocked)
                {
                    var dm                    = InflateViewController <DeviceManagerViewController>(VC_DEVICE_MANAGER);
                    dm.displayFilter          = new SensorOfTypeFilter(ESensorType.Temperature);
                    dm.onSensorReturnDelegate = (GaugeDeviceSensor sensor) => {
                        temperatureUnit   = sensor.unit;
                        temperatureSensor = sensor;
                        if (ptSlider != null)
                        {
                            ptSlider.ptScroller.ScrollEnabled = false;
                            ptSlider.setOffsetFromSensorMeasurement(new SensorEvent(SensorEvent.EType.Invalidated, sensor));
                        }
                        InvalidateViewController();
                    };
                    NavigationController.PushViewController(dm, true);
                }
            }));

            viewTemperatureTouchArea.AddGestureRecognizer(new UILongPressGestureRecognizer(() => {
                if (!temperatureSensorLocked)
                {
                    temperatureSensor = null;
                    ClearPressureInput();
                    ClearTemperatureInput();
                    if (ptSlider != null)
                    {
                        ptSlider.ptScroller.ScrollEnabled = true;
                    }
                }
                InvalidateViewController();
            }));

            editTemperature.ShouldReturn += (textField) => {
                textField.ResignFirstResponder();
                return(true);
            };

            editTemperature.AddTarget((object obj, EventArgs args) => {
                if (temperatureSensor == null)
                {
                    temperatureSensor = new ManualSensor(ion.manualSensorContainer, ESensorType.Temperature, AppState.context.preferences.units.DefaultUnitFor(ESensorType.Pressure).OfScalar(0.0), true);
                }

                SetTemperatureMeasurementFromEditText();
            }, UIControlEvent.EditingChanged);

            buttonTemperatureUnit.SetBackgroundImage(UIImage.FromBundle("ButtonGold").AsNinePatch(), UIControlState.Normal);
            buttonTemperatureUnit.TouchUpInside += (object sender, EventArgs e) => {
                if (temperatureSensor == null || temperatureSensor.isEditable)
                {
                    var supportedUnits = temperatureSensor != null ? temperatureSensor.supportedUnits : SensorUtils.DEFAULT_TEMPERATURE_UNITS;
                    var dialog         = CommonDialogs.CreateUnitPicker(Strings.Measure.PICK_UNIT, supportedUnits, (obj, unit) => {
                        temperatureUnit = unit;
                        if (ptSlider != null)
                        {
                            ptSlider.ptView.tempLookup = unit;
                        }
                        if (pressureSensor != null)
                        {
                            entryMode = new SensorEntryMode(this, pressureSensor, temperatureUnit, editPressure, editTemperature);
                        }
                        else
                        {
                            entryMode = new SensorEntryMode(this, temperatureSensor, pressureUnit, editTemperature, editPressure);
                        }
                        SetTemperatureMeasurementFromEditText();
                        if (ptSlider != null)
                        {
                            recalculateSlider(pressureUnit, ptSlider.ptView.tempLookup);
                        }
                    });
                    PresentViewController(dialog, true, null);
                }
            };
        }
Example #25
0
 void ExecuteBrowseCommand()
 {
     LibraryPath = CommonDialogs.ShowFolderBrowserDialog();
 }
Example #26
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            buttonPressureUnit.SetBackgroundImage(UIImage.FromBundle("ButtonGold").AsNinePatch(), UIControlState.Normal);
            buttonPressureUnit.TouchUpInside += (object sender, EventArgs e) => {
                if (pressureSensor.isEditable)
                {
                    var dialog = CommonDialogs.CreateUnitPicker(Strings.Measure.PICK_UNIT, pressureSensor.GetSupportedUnits(), (obj, unit) => {
                        pressureUnit = unit;
                    });
                    PresentViewController(dialog, true, null);
                }
            };

            buttonMeasTempUnit.SetBackgroundImage(UIImage.FromBundle("ButtonGold").AsNinePatch(), UIControlState.Normal);
            buttonMeasTempUnit.TouchUpInside += (object sender, EventArgs e) => {
                if (temperatureSensor.isEditable)
                {
                    var dialog = CommonDialogs.CreateUnitPicker(Strings.Measure.PICK_UNIT, temperatureSensor.GetSupportedUnits(), (obj, unit) => {
                        temperatureUnit = unit;
                    });
                    PresentViewController(dialog, true, null);
                }
            };

            switchDewBubble.ValueChanged += (object sender, EventArgs e) => {
                switch ((int)switchDewBubble.SelectedSegment)
                {
                case SECTION_DEW:
                    ptChart = new PTChart(Fluid.State.Dew, ptChart.fluid, ptChart.elevation);
                    labelFluidState.BackgroundColor = new UIColor(Colors.BLUE);
                    break;

                case SECTION_BUBBLE:
                    ptChart = new PTChart(Fluid.State.Bubble, ptChart.fluid, ptChart.elevation);
                    labelFluidState.BackgroundColor = new UIColor(Colors.RED);
                    break;
                }
            };
            switchDewBubble.SelectedSegment = SECTION_DEW;

            ion = AppState.context;

            ptChart           = new PTChart(Fluid.State.Dew, ion.fluidManager.lastUsedFluid);
            pressureSensor    = new Sensor(ESensorType.Pressure, Units.Pressure.PSIG.OfScalar(0), true);
            temperatureSensor = new Sensor(ESensorType.Temperature, Units.Temperature.FAHRENHEIT.OfScalar(0), false);

            NavigationItem.Title = Strings.Fluid.PT_CALCULATOR;
            NavigationItem.RightBarButtonItem = new UIBarButtonItem(Strings.HELP, UIBarButtonItemStyle.Plain, delegate {
                var dialog = new UIAlertView(Strings.HELP, Strings.Fluid.STATE_HELP, null, Strings.OK);
                dialog.Show();
            });

            View.AddGestureRecognizer(new UITapGestureRecognizer(() => {
                editPressure.ResignFirstResponder();
                editMeasTemp.ResignFirstResponder();
            }));

            viewFluidPicker.AddGestureRecognizer(new UITapGestureRecognizer(() => {
                var sb = InflateViewController <FluidManagerViewController>("fluidManagerViewController");
                sb.onFluidSelectedDelegate = OnFluidSelected;
                NavigationController.PushViewController(sb, true);
            }));

            viewPressureSensorPicker.AddGestureRecognizer(new UITapGestureRecognizer(() => {
                var dm                    = InflateViewController <DeviceManagerViewController>("deviceManagerViewController");
                dm.displayFilter          = new SensorTypeFilter(ESensorType.Pressure);
                dm.onSensorReturnDelegate = (GaugeDeviceSensor sensor) => {
                    pressureSensor = sensor;
                };
                NavigationController.PushViewController(dm, true);
            }));

            viewPressureSensorPicker.AddGestureRecognizer(new UILongPressGestureRecognizer(() => {
                pressureSensor = null;
                ClearPressureInput();
            }));

            editPressure.AddTarget((object obj, EventArgs args) => {
                try {
                    if (pressureSensor.isEditable)
                    {
                        var measurement            = pressureUnit.OfScalar(double.Parse(editPressure.Text));
                        pressureSensor.measurement = measurement;
                    }
                } catch (Exception e) {
                    Log.E(this, "Failed to UpdatePressure: invalid string " + editPressure.Text, e);
                    ClearPressureInput();
                }
            }, UIControlEvent.EditingChanged);

            viewMeasTempSensorPicker.AddGestureRecognizer(new UITapGestureRecognizer(() => {
                var dm                    = InflateViewController <DeviceManagerViewController>("deviceManagerViewController");
                dm.displayFilter          = new SensorTypeFilter(ESensorType.Temperature);
                dm.onSensorReturnDelegate = (GaugeDeviceSensor sensor) => {
                    temperatureSensor = sensor;
                };
                NavigationController.PushViewController(dm, true);
            }));

            viewMeasTempSensorPicker.AddGestureRecognizer(new UILongPressGestureRecognizer(() => {
                temperatureSensor = null;
                ClearTemperatureInput();
            }));

            editMeasTemp.AddTarget((object obj, EventArgs args) => {
                try {
                    if (temperatureSensor.isEditable)
                    {
                        var measurement = temperatureUnit.OfScalar(double.Parse(editMeasTemp.Text));
                        temperatureSensor.measurement = measurement;
                    }
                } catch (Exception e) {
                    Log.E(this, "Failed to UpdateTemperature: invalid string " + editMeasTemp.Text + ".", e);
                    ClearTemperatureInput();
                }
            }, UIControlEvent.EditingChanged);
        }