public async void setupGridView()
        {
            await Task.Delay(TimeSpan.FromMilliseconds(2));

            selectedSensor               = new SensorStatusPopup(View);
            selectedSensor.gridVC        = this;
            selectedSensor.analyzerSlot  = fromAnalyzer;
            selectedSensor.fromWorkbench = fromWorkbench;

            View.AddSubview(selectedSensor.popupView);

            gridTapped = new UITapGestureRecognizer(() => {
                selectedSensor.popupView.Hidden      = true;
                selectedSensor.shouldOpen            = false;
                selectedSensor.sensor.onSensorEvent -= selectedSensor.updateSensor;
            });

            gridTapped.CancelsTouchesInView = false;
            gridTapped.ShouldReceiveTouch  += (recognizer, touch) => !(selectedSensor.popupView.Hidden);

            gridView.AddGestureRecognizer(gridTapped);
            gridView.RegisterClassForCell(typeof(GridCellConnected), GridCellConnected.CellID);
            gridView.RegisterClassForCell(typeof(GridCellDisconnected), GridCellDisconnected.CellID);
            gridView.RegisterClassForSupplementaryView(typeof(Header), UICollectionElementKindSection.Header, "sectionHeader");

            gridView.DataSource = new DeviceGridSource(connectedSensors, disconnectedSensors);
            gridView.Delegate   = new DeviceGridFlowDelegate(selectedSensor);
            gridView.ReloadData();
            ion.deviceManager.onDeviceManagerEvent += OnDeviceManagerEvent;
        }
Esempio n. 2
0
 public DeviceGridFlowDelegate(SensorStatusPopup selectedSensor)
 {
     passPopup = selectedSensor;
 }