Esempio n. 1
0
        internal void Show(IDataConsumer consumer, IEnumerable <IMeasurement> measurements, Dictionary <string, Size> sizes)
        {
            this.sizes = sizes;
            IMeasurementObjectFactory f = StaticExtensionDataPerformerUI.GraphCollection;
            IDataConsumer             c = consumer;

            indicators.RemoveMeasurementObjects();
            Dictionary <IMeasurement, string> d = consumer.GetMeasurementsDictionary();

            //!!! ALL  INDICATORS c.GetMeasurementObjects(indicators, f);

            foreach (IMeasurement m in d.Keys)
            {
                if (measurements.Contains(m) & (!indicators.ContainsKey(m)))
                {
                    string name = d[m];
                    object o    = f[d[m], m];
                    if (o == null)
                    {
                        continue;
                    }
                    indicators[m] = o;
                    Form form = o as Form;
                    if (sizes.ContainsKey(name))
                    {
                        form.Size = sizes[name];
                    }
                    if (name != null)
                    {
                        form.Text = name;
                    }
                    form.Resize += (object sender, EventArgs e) =>
                    {
                        sizes[form.Text] = form.Size;
                    };
                    if (o is IRealtimeUpdate)
                    {
                        (o as IRealtimeUpdate).Update();
                    }
                }
            }
            foreach (object o in indicators.Values)
            {
                if (o is Form)
                {
                    Form form = o as Form;
                    form.Show();
                    form.BringToFront();
                }
            }
        }
 /// <summary>
 /// Adds a factory
 /// </summary>
 /// <param name="factory">The factory for the addition</param>
 public void Add(IMeasurementObjectFactory factory)
 {
     list.Add(factory);
 }
 /// <summary>
 /// Adds indicator
 /// </summary>
 /// <param name="indicator">The indicator for add</param>
 static public void AddGraphIndicator(this IMeasurementObjectFactory indicator)
 {
     GraphCollection.Add(indicator);
 }
        /// <summary>
        /// Gets measurement objects
        /// </summary>
        /// <param name="dataConsumer">Consumer of data</param>
        /// <param name="dictionary">Dictionary of objects</param>
        /// <param name="factory">Factory of objects</param>
        static public void GetMeasurementObjects(this IDataConsumer dataConsumer,
                                                 Dictionary <IMeasurement, object> dictionary, IMeasurementObjectFactory factory)
        {
            Func <object, bool> condition = (object o) =>
            {
                if (o is Form)
                {
                    return(!(o as Form).IsDisposed);
                }
                return(true);
            };

            dataConsumer.GetMeasurementObjects(dictionary, factory, condition);
        }