Exemplo n.º 1
0
 private static void ProcessAttributeAsSignalFunction(SignalFunction sf, string name, ListViewItem lvi)
 {
     if (sf != null)
     {
         foreach (PropertyInfo pi in sf.GetType().GetProperties())
         {
             object value = pi.GetValue(sf, null);
             if (value != null)
             {
                 if (IsStringArray(pi))
                 {
                     foreach (string s in ((string[])value))
                     {
                         TestItemColor(s, name, pi, lvi);
                     }
                 }
                 else
                 {
                     TestItemColor(value.ToString(), name, pi, lvi);
                 }
             }
             else if (name.Equals(pi.Name))
             {
                 lvi.BackColor = RELATED_COLOR;
             }
         }
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor for dummy entries
 /// </summary>
 public SignalType(SignalFunction function, SignalAspectState aspect)
     : this()
 {
     FunctionType = function;
     Name         = "UNDEFINED";
     Semaphore    = false;
     DrawStates   = new Dictionary <string, SignalDrawState>
     {
         { "CLEAR", new SignalDrawState("CLEAR", 1) }
     };
     Aspects = new List <SignalAspect>
     {
         new SignalAspect(aspect, "CLEAR")
     };
 }
Exemplo n.º 3
0
        private void lvSignals_SelectedIndexChanged(object sender, EventArgs e)
        {
            //HourGlass.Enabled = true;
            try
            {
                if (lvSignals.SelectedItems.Count > 0)
                {
                    var model = (SignalModel)lvSignals.SelectedItems[0].Tag;
                    if (model != null)
                    {
                        lvAttributes.Items.Clear();
                        List <SignalAttribute> attributes = model.Attributes;
                        foreach (SignalAttribute attribute in attributes)
                        {
                            var item = new ListViewItem(attribute.Name);
                            item.SubItems.Add(attribute.SchemaType);
                            item.SubItems.Add(attribute.DefaultValue);
                            item.Tag = attribute;
                            lvAttributes.Items.Add(item);
                        }

                        object itm = model.TSF.model.Item;
                        if (itm is Signal)
                        {
                            var signal = (Signal)itm;
                            lvModel.Items.Clear();
                            foreach (object obj in signal.Items)
                            {
                                XmlElement     element        = obj as XmlElement;
                                SignalFunction signalFunction = obj as SignalFunction;
                                if (signalFunction != null)
                                {
                                    var item = new ListViewItem(obj.GetType().Name);
                                    item.SubItems.Add(signalFunction.name);
                                    item.SubItems.Add(signalFunction.type);
                                    item.SubItems.Add(signalFunction.In);
                                    item.Tag = obj;
                                    lvModel.Items.Add(item);
                                }
                                else if (element != null)
                                {
                                    XmlAttribute nameAttribute = element.Attributes["name"];
                                    XmlAttribute typeAttribute = element.Attributes["type"];
                                    XmlAttribute inAttribute   = element.Attributes["in"];
                                    var          item          = new ListViewItem(element.LocalName);
                                    item.SubItems.Add(nameAttribute == null?"":nameAttribute.Value);
                                    item.SubItems.Add(typeAttribute == null ? "" : typeAttribute.Value);
                                    item.SubItems.Add(inAttribute == null ? "" : inAttribute.Value);
                                    item.Tag = obj;
                                    lvModel.Items.Add(item);
                                }
                            }
                        }
                    }
                }
            }
            finally
            {
                //HourGlass.Enabled = false;
            }
        }