private void SetObserver()
        {
            if (m_showObserver && m_school != null)
            {
                if (m_observer == null)
                {
                    try
                    {
                        MyMemoryBlockObserver observer = new MyMemoryBlockObserver();
                        observer.Target = m_school.VisualFOV;

                        m_observer = new ObserverForm(m_mainForm, observer, m_school);

                        m_observer.TopLevel = false;
                        dockPanelObserver.Controls.Add(m_observer);

                        m_observer.CloseButtonVisible = false;
                        m_observer.MaximizeBox        = false;
                        m_observer.Size             = dockPanelObserver.Size + new System.Drawing.Size(16, 38);
                        m_observer.Location         = new System.Drawing.Point(-8, -30);
                        m_observer.DoUpdateIfHidden = true;

                        m_observer.Show();
                    }
                    catch (Exception e)
                    {
                        MyLog.ERROR.WriteLine("Error creating observer: " + e.Message);
                    }
                }
                else
                {
                    m_observer.Show();
                    dockPanelObserver.Show();

                    m_observer.Observer.GenericTarget = m_school.VisualFOV;
                }
            }
            else
            {
                if (m_observer != null)
                {
                    //(m_observer.Observer as MyMemoryBlockObserver).Target = null;
                    m_observer.Close();
                    m_observer.Dispose();
                    m_observer = null;
                    dockPanelObserver.Hide();
                }
            }
        }
Example #2
0
        public void OpenObserver(NeuronModel neuron, Scene scene)
        {
            ObserverDefinition definition = CreateObserverDefinition(neuron);
            // TODO(HonzaS): Factory + injection.
            var observer = new CanvasObserver(definition, Conductor.ModelProvider);

            observer.Log = Log;
            var form = new ObserverForm(this, observer);

            form.Text = $"Neuron {neuron.Index}, region {neuron.RegionModel.Index} - '{definition.Type}'";

            var handle = new ObserverHandle(observer, form, scene);

            Observers.Add(handle);
            form.Show();

            RefreshObserverRequests();
        }
        private void ObserverPatternBtn_Click(object sender, EventArgs e)
        {
            Form observerForm = new ObserverForm();

            observerForm.Show();
        }
Example #4
0
 public ObserverHandle(IObserver observer, ObserverForm form, Scene scene)
 {
     m_scene  = scene;
     Observer = observer;
     Form     = form;
 }