Ejemplo n.º 1
0
        private void StreamViewer_StopControl(object sender, SourceControlTypeEventArgs e)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new EventHandler <SourceControlTypeEventArgs>(StreamViewer_StopControl), new object[] { sender, e });
                return;
            }

            if (sender is StreamViewerControl)
            {
                ((StreamViewerControl)sender).ControlState[e.ControlType] = SourceControlTypeState.Inactive;
            }
            else if (sender is IControlPalette)
            {
                ((IControlPalette)sender).StreamViewerControl.ControlState[e.ControlType] = SourceControlTypeState.Inactive;
            }
            else
            {
                return;
            }
            CurrentPalette = null;
        }
Ejemplo n.º 2
0
        private void StreamViewer_StartControl(object sender, SourceControlTypeEventArgs e)
        {
            StreamViewerControl svc = sender as StreamViewerControl;

            if (svc == null)
            {
                return;
            }

            IControlPalette p = null;

            switch (e.ControlType)
            {
            case SourceControlTypes.PTZ:
                p = new PTZPalette();
                break;

            case SourceControlTypes.Microwave:
                p = new MicrowavePalette();
                break;

            default:
                return;
            }

            svc.Active            = true;
            p.StreamViewerControl = svc;

            if (!PaletteWorker.IsBusy)
            {
                PaletteWorker.RunWorkerAsync(p);
            }
            else
            {
                FCMessageBox.Show("Please wait", "Another peripheral control is in the process of starting." + Environment.NewLine + "Please wait for it to finish.", this);
                svc.ControlState[e.ControlType] = SourceControlTypeState.Inactive;
            }
        }