public double ToPlotDouble(GUIValueLinks LinkIn, int indexi)
        {
            if (DataType == typeof(byte))
            {
                return(((double)byteValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(char))
            {
                return(((double)charValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(ushort))
            {
                return(((double)ushortValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(short))
            {
                return(((double)shortValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(uint))
            {
                return(((double)uintValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(long))
            {
                return(((double)longValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(ulong))
            {
                return(((double)ulongValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(long))
            {
                return(((double)longValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(float))
            {
                return(((double)floatValues[indexi] * LinkIn.scalar));
            }

            else if (DataType == typeof(double))
            {
                return((setdoubleValues[indexi] * LinkIn.scalar));
            }
            return(0);
        }
        public int ToSelectedIndex(GUIValueLinks LinkIn)
        {
            if (DataType == typeof(byte))
            {
                return((byte)(byteValue * LinkIn.scalar));
            }

            else if (DataType == typeof(char))
            {
                return((char)(charValue * LinkIn.scalar));
            }

            else if (DataType == typeof(ushort))
            {
                return((ushort)(ushortValue * LinkIn.scalar));
            }

            else if (DataType == typeof(short))
            {
                return((short)(shortValue * LinkIn.scalar));
            }

            else if (DataType == typeof(uint))
            {
                return((int)((uint)(uintValue * LinkIn.scalar)));
            }

            else if (DataType == typeof(int))
            {
                return((int)(intValue * LinkIn.scalar));
            }

            else if (DataType == typeof(ulong))
            {
                return((int)((ulong)(ulongValue * LinkIn.scalar)));
            }

            else if (DataType == typeof(long))
            {
                return((int)(longValue * LinkIn.scalar));
            }

            else if (DataType == typeof(float))
            {
                return((int)(floatValue * LinkIn.scalar));
            }

            else if (DataType == typeof(double))
            {
                return((int)(setdoubleValue * LinkIn.scalar));
            }
            return(0);
        }
Esempio n. 3
0
        public void ZedgraphControl1_DragDrop(object sender, DragEventArgs e)
        {
            GUIValueLinks GUIVLinkDropped = null;
            int           axisSelect      = 2;

            // Analyze drop location according to window geometry, and select Y1 vs Y2
            if (e == null && sender == null)
            {
                axisSelect = 1;
            }
            else if (e == null && sender != null)
            {
                axisSelect = 1;
            }
            else if (e.X == 0 && e.Y == 0)
            {
                axisSelect = 1;
            }
            else if (e.X == 1 && e.Y == 1)
            {
                axisSelect = 2;
            }
            else if (e.X <= ZedgraphControl1.ParentForm.Location.X + ZedgraphControl1.Parent.Location.X + ZedgraphControl1.Size.Width / 2)
            {
                axisSelect = 1;
            }
            else
            {
                axisSelect = 2;
            }

            if (((GUIValueLinks)e.Data.GetData(typeof(GUIValueLinks))) != null)
            {
                GUIVLinkDropped = ((GUIValueLinks)e.Data.GetData(typeof(GUIValueLinks)));
                DropGUIVLink(GUIVLinkDropped, axisSelect);
            }

            ZedgraphControl1.Refresh();
        }
Esempio n. 4
0
        public void DropGUIVLink(GUIValueLinks GUIVlinkIN, int axisSelect)
        {
            // Initialize some temporary variables
            string NodeName   = "";
            int    totalCount = 0;

            Color[] plotColors = { Color.Red, Color.Blue, Color.Black, Color.Brown, Color.DarkCyan, Color.LimeGreen, Color.Purple, Color.Green, Color.HotPink, Color.ForestGreen };

            NodeName = GUIVlinkIN.vNodeLink.getNodeName;


            //if(treeView1.Nodes.Count < 1)
            //    treeView1.Nodes.Add()


            // show initial setting for plot window
            if (treeView1.Nodes[0].Nodes.Count > 0)
            {
                treeView1.Nodes[0].Nodes[0].Text = plotWindow.ToString();
            }
            else
            {
                treeView1.Nodes[0].Nodes.Add(plotWindow.ToString());
            }

            // Capture total count of nodes in tree
            totalCount = treeView1.Nodes[1].Nodes.Count + treeView1.Nodes[2].Nodes.Count;

            // Limit the total count, Limit one of each name key, to prevent duplicates, no exact name matches!!
            // Otherwise, process the drop...
            if (!treeView1.Nodes[axisSelect].Nodes.ContainsKey(NodeName) && totalCount < plotColors.Length)
            {
                // Add a node to the treeview with our temp nodename
                treeView1.Nodes[axisSelect].Nodes.Add(new TreeNode(NodeName));
                treeView1.Nodes[axisSelect].Nodes[treeView1.Nodes[axisSelect].Nodes.Count - 1].Name = NodeName;
                // Add the tooltip text to the node
                treeView1.Nodes[axisSelect].Nodes[treeView1.Nodes[axisSelect].Nodes.Count - 1].ToolTipText = "Right Click to Remove from Plot";

                // Select a color for the new dropped node
                bool duplicateColor = true;
                // Loop through all possible colors from our color list
                foreach (Color c in plotColors)
                {
                    duplicateColor = false;
                    // For each color, loop through each curve on the plot
                    foreach (LineItem curve in ZedgraphControl1.GraphPane.CurveList)
                    {
                        // If the colors match, indicate duplicate and move on
                        if (curve.Color == c)
                        {
                            duplicateColor = true;
                            break;
                        }
                    }

                    // Then, IF its not a duplicate color, set the curve color to this color and exit the loop
                    if (!duplicateColor)
                    {
                        treeView1.Nodes[axisSelect].Nodes[treeView1.Nodes[axisSelect].Nodes.Count - 1].ForeColor = c;
                        ZedgraphControl1.GraphPane.AddCurve(NodeName, new PointPairList(), c, SymbolType.None);
                        if (axisSelect > 1)
                        {
                            ZedgraphControl1.GraphPane.CurveList[this.ZedgraphControl1.GraphPane.CurveList.Count - 1].IsY2Axis = true;
                        }
                        break;
                    }
                }

                // Add a link to the serialparameterdata object for use in GUI callbacks
                plotParamReference.Add(GUIVlinkIN.vNodeLink);
                // Establish links between curve and treenode
                treeView1.Nodes[axisSelect].Nodes[treeView1.Nodes[axisSelect].Nodes.Count - 1].Tag = ZedgraphControl1.GraphPane.CurveList[this.ZedgraphControl1.GraphPane.CurveList.Count - 1];
                // Establish links between curve and serialparameterdata object
                ZedgraphControl1.GraphPane.CurveList[this.ZedgraphControl1.GraphPane.CurveList.Count - 1].Tag = GUIVlinkIN;// plotParamReference[plotParamReference.Count - 1];
            }

            updateAxisUnitsText();

            // Set Legend visible and expand the treeview
            ZedgraphControl1.GraphPane.Legend.IsVisible = true;
            treeView1.ExpandAll();
        }
Esempio n. 5
0
        public void DropVNode(imsValueNode vNodeIn, int axisSelectIn)
        {
            GUIValueLinks plotLink = new GUIValueLinks(vNodeIn, null, "", 1.0f, "", true);

            DropGUIVLink(plotLink, axisSelectIn);
        }
        public string ToValueString(GUIValueLinks LinkIn)
        {
            int i;

            if (DataType == typeof(byte))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return("0x" + ((byte)(LinkIn.scalar * byteValue)).ToString("X2"));
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return(string.Concat("0b", (Convert.ToString((byte)(LinkIn.scalar * byteValue), 2)).PadLeft(8, '0')));
                }
                else
                {
                    return(((byteValue * LinkIn.scalar)).ToString(LinkIn.formatstring));
                }
            }

            else if (DataType == typeof(char))
            {
                if (ArrayLength > 1)
                {
                    List <char> tempStringChars = new List <char>();
                    tempStringChars.AddRange(charValues);
                    string outString = "";
                    for (i = 0; i < tempStringChars.Count; i++)
                    {
                        outString = string.Concat(outString, tempStringChars[i]);
                    }

                    return(outString);
                }
                else
                {
                    if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                    {
                        return("0x" + ((byte)(LinkIn.scalar * charValue)).ToString("X2"));
                    }
                    else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                    {
                        return(string.Concat("0b", (Convert.ToString(((char)(charValue * LinkIn.scalar)), 2)).PadLeft(8, '0')));
                    }
                    else
                    {
                        return(((charValue * LinkIn.scalar)).ToString());
                    }
                }
            }

            else if (DataType == typeof(ushort))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return("0x" + ((ushort)(LinkIn.scalar * ushortValue)).ToString("X2"));
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return(string.Concat("0b", (Convert.ToString(((ushort)(ushortValue * LinkIn.scalar)), 2)).PadLeft(8, '0')));
                }
                else
                {
                    return(((ushortValue * LinkIn.scalar)).ToString(LinkIn.formatstring));
                }
            }

            else if (DataType == typeof(short))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return("0x" + ((short)(LinkIn.scalar * shortValue)).ToString("X2"));
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return(string.Concat("0b", (Convert.ToString(((short)(shortValue * LinkIn.scalar)), 2)).PadLeft(8, '0')));
                }
                else
                {
                    return((shortValue * LinkIn.scalar).ToString(LinkIn.formatstring));
                }
            }

            else if (DataType == typeof(uint))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return("0x" + ((uint)(LinkIn.scalar * uintValue)).ToString("X2"));
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return(string.Concat("0b", (Convert.ToString(((uint)(uintValue * LinkIn.scalar)), 2)).PadLeft(8, '0')));
                }
                else
                {
                    return((uintValue * LinkIn.scalar).ToString(LinkIn.formatstring));
                }
            }

            else if (DataType == typeof(int))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return("0x" + ((int)(LinkIn.scalar * intValue)).ToString("X2"));
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return(string.Concat("0b", (Convert.ToString(((int)(intValue * LinkIn.scalar)), 2)).PadLeft(8, '0')));
                }
                else
                {
                    return((intValue * LinkIn.scalar).ToString(LinkIn.formatstring));
                }
            }

            else if (DataType == typeof(ulong))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return("0x" + ((ulong)(LinkIn.scalar * ulongValue)).ToString("X2"));
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return("0b??");//string.Concat("0b", (Convert.ToString(((ulong)(ulongValue * LinkIn.scalar)), 2)).PadLeft(8, '0'));
                }
                else
                {
                    return((ulongValue * LinkIn.scalar).ToString(LinkIn.formatstring));
                }
            }

            else if (DataType == typeof(long))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return("0x" + ((long)(LinkIn.scalar * longValue)).ToString("X2"));
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return(string.Concat("0b", (Convert.ToString(((long)(longValue * LinkIn.scalar)), 2)).PadLeft(8, '0')));
                }
                else
                {
                    return((longValue * LinkIn.scalar).ToString(LinkIn.formatstring));
                }
            }

            else if (DataType == typeof(float))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return((floatValue * LinkIn.scalar).ToString());// "0x" + (LinkIn.scalar * floatValue).ToString("X2");
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return((floatValue * LinkIn.scalar).ToString());//string.Concat("0b", (Convert.ToString(((floatValue * LinkIn.scalar)), 2)).PadLeft(8, '0'));
                }
                else
                {
                    return((floatValue * LinkIn.scalar).ToString());
                }
            }

            else if (DataType == typeof(double))
            {
                if (LinkIn.formatstring.Contains("x") || LinkIn.formatstring.Contains("X"))
                {
                    return((doubleValue * LinkIn.scalar).ToString());//"0x" + (LinkIn.scalar * doubleValue).ToString("X2");
                }
                else if (LinkIn.formatstring.Contains("b") || LinkIn.formatstring.Contains("B"))
                {
                    return((doubleValue * LinkIn.scalar).ToString());//string.Concat("0b", (Convert.ToString(((doubleValue * LinkIn.scalar)), 2)).PadLeft(8, '0'));
                }
                else
                {
                    return((doubleValue * LinkIn.scalar).ToString());
                }
            }


            return("");
        }
 public string toNameString(GUIValueLinks LinkIn)
 {
     return(NodeName + " " + LinkIn.UnitsString);
 }