示例#1
0
        /// <summary>
        /// Create a clone of our display, and show
        /// </summary>
        /// <param name="state"></param>
        private void CreateCloneOfDisplay(object state)
        {
            MemberInfo mI      = FieldToCheck == null ? (MemberInfo)PropertyToCheck : (MemberInfo)FieldToCheck;
            MM_Form    NewForm = GenerateTrackingForm(this.Title, this.ElemType, mI, Elements.ToArray());

            if (Elements.Count == 1)
            {
                NewForm.Text = this.Title + " " + Elements[0].ToString();
            }
            else
            {
                NewForm.Text = this.Title + " " + this.ElemType + " (" + Elements.Count.ToString("#,##0") + ")";
            }
            NewForm.StartPosition = FormStartPosition.Manual;
            NewForm.Location      = Cursor.Position;
            MM_LoadGen_Tracking_Operator Oper = (MM_LoadGen_Tracking_Operator)NewForm.Controls[0];

            Oper.BeginTracking();
            Oper.TrackingCurve.Clear();
            for (int a = 0; a < TrackingCurve.Points.Count; a++)
            {
                Oper.TrackingCurve.AddPoint(TrackingCurve.Points[a]);
            }
            Oper.BaseValue = BaseValue;



            Oper.zgGraph.GraphPane.XAxis.IsVisible = true;
            Oper.zgGraph.GraphPane.YAxis.IsVisible = true;
            zgGraph.AxisChange();
            zgGraph.Invalidate();
            Data_Integration.DisplayForm(NewForm, Thread.CurrentThread);
        }
示例#2
0
        /// <summary>
        /// Generate a standalone tracking form
        /// </summary>
        /// <param name="Title"></param>
        /// <param name="ElemType"></param>
        /// <param name="MemberToCheck"></param>
        /// <param name="Elements"></param>
        public static MM_Form GenerateTrackingForm(String Title, MM_Element_Type ElemType, MemberInfo MemberToCheck, MM_Element[] Elements)
        {
            MM_Form NewForm = new MM_Form();
            MM_LoadGen_Tracking_Operator Tracking = new MM_LoadGen_Tracking_Operator(Title, ElemType, MemberToCheck);

            NewForm.Icon = Properties.Resources.CompanyIcon;
            Tracking.Elements.AddRange(Elements);
            Tracking.Dock = DockStyle.Fill;
            NewForm.Controls.Add(Tracking);
            return(NewForm);
        }
        /// <summary>
        /// Handle our drop-down item
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTrendHistory_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            if (e.ClickedItem.Tag == null || e.ClickedItem.Tag is MemberInfo == false)
            {
                return;
            }
            MM_Element_Type ElemType = (MM_Element_Type)(((ToolStripItem)sender).Tag);
            MemberInfo      mI       = (MemberInfo)e.ClickedItem.Tag;

            btnTrendHistory.Text = ElemType.Name + " " + mI.Name + " " + e.ClickedItem.OwnerItem.OwnerItem.Text;


            flwMain.Controls.Clear();
            MM_LoadGen_Tracking_Operator FoundOperator;
            SortedDictionary <String, MM_LoadGen_Tracking_Operator> Trackers = new SortedDictionary <string, MM_LoadGen_Tracking_Operator>();

            foreach (MM_Element Elem in MM_Repository.TEIDs.Values)
            {
                if (Elem.ElemType == ElemType)
                {
                    //Determine our key
                    String Key = "";
                    if (e.ClickedItem.OwnerItem.OwnerItem == byOperatorToolStripMenuItem)
                    {
                        Key = Elem.Operator.Alias;
                    }
                    else if (e.ClickedItem.OwnerItem.OwnerItem == byCountyToolStripMenuItem)
                    {
                        if (Elem.Substation == null || Elem.Substation.County == null)
                        {
                            Key = "Unknown";
                        }
                        else
                        {
                            Key = Elem.Substation.County.Name;
                        }
                    }


                    if (!Trackers.TryGetValue(Key, out FoundOperator))
                    {
                        Trackers.Add(Key, FoundOperator = new MM_LoadGen_Tracking_Operator(Key, ElemType, mI));
                    }
                    FoundOperator.Elements.Add(Elem);
                }
            }
            foreach (MM_LoadGen_Tracking_Operator Oper in Trackers.Values)
            {
                Oper.BeginTracking();
            }
            flwMain.Controls.AddRange(Trackers.Values.ToArray());
        }