Ejemplo n.º 1
0
 public GXDLMSProfileGenericColumnDlg(
     GXKeyValuePair <GXDLMSObject, GXDLMSCaptureObject> target, GXDLMSObjectCollection list, string title)
 {
     Target     = target;
     AllObjects = new GXDLMSObjectCollection();
     AllObjects.AddRange(list);
     //Remove not needed objects.
     foreach (GXDLMSObject it in list.GetObjects(new ObjectType[] { ObjectType.AssociationLogicalName, ObjectType.AssociationShortName, ObjectType.ProfileGeneric }))
     {
         AllObjects.Remove(it);
     }
     InitializeComponent();
     if (title != null)
     {
         this.Text = title;
     }
     foreach (GXDLMSObject it in AllObjects)
     {
         TargetCb.Items.Add(it);
     }
     if (Target.Key != null)
     {
         TargetCb.SelectedItem = AllObjects.FindByLN(Target.Key.ObjectType, Target.Key.LogicalName);
     }
     if (Target.Value != null)
     {
         IndexTB.Text     = target.Value.AttributeIndex.ToString();
         DataIndexTb.Text = target.Value.DataIndex.ToString();
     }
     else
     {
         IndexTB.Text     = "2";
         DataIndexTb.Text = "0";
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Load saved COSEM objects from XML.
 /// </summary>
 /// <param name="path">File path.</param>
 bool LoadObjects(string path, GXDLMSObjectCollection items)
 {
     lock (settingsLock)
     {
         if (File.Exists(path))
         {
             GXDLMSObjectCollection objects = GXDLMSObjectCollection.Load(path);
             items.Clear();
             items.AddRange(objects);
             UpdateValues(items);
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 3
0
 private void ObjectList_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
 {
     try
     {
         this.ObjectTree.AfterSelect -= new System.Windows.Forms.TreeViewEventHandler(this.ObjectTree_AfterSelect);
         if (e.IsSelected)
         {
             SelectedListItems.Add(e.ItemIndex, e.Item.Tag as GXDLMSObject);
             if (SelectedListItems.Count == 1)
             {
                 SelectItem(e.Item.Tag);
             }
             else
             {
                 GXDLMSObjectCollection items = new GXDLMSObjectCollection();
                 items.AddRange(SelectedListItems.Values.ToArray());
                 SelectItem(items);
             }
             TreeNode node = ObjectTreeItems[e.Item.Tag] as TreeNode;
             if (node != null)
             {
                 ObjectTree.SelectedNode = node;
             }
         }
         else
         {
             int pos = SelectedListItems.IndexOfValue(e.Item.Tag as GXDLMSObject);
             if (pos != -1)
             {
                 SelectedListItems.RemoveAt(pos);
             }
             else
             {
                 return;
             }
             if (SelectedListItems.Count == 0)
             {
                 SelectItem(((GXDLMSObject)e.Item.Tag).Parent.Tag);
             }
             else if (SelectedListItems.Count == 1)
             {
                 SelectItem(SelectedListItems.Values[0]);
             }
             else
             {
                 GXDLMSObjectCollection items = new GXDLMSObjectCollection();
                 items.AddRange(SelectedListItems.Values.ToArray());
                 SelectItem(items);
             }
         }
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine(ex.Message);
     }
     finally
     {
         this.ObjectTree.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.ObjectTree_AfterSelect);
     }
 }