/// <summary>
 /// Edit Object.
 /// </summary>
 private void ObjectsEditBtn_Click(object sender, EventArgs e)
 {
     try
     {
         if (ObjectsLV.SelectedItems.Count == 1)
         {
             GXDLMSPushSetup target = Target as GXDLMSPushSetup;
             ListViewItem    li     = ObjectsLV.SelectedItems[0];
             KeyValuePair <GXDLMSObject, GXDLMSCaptureObject> it = (KeyValuePair <GXDLMSObject, GXDLMSCaptureObject>)li.Tag;
             GXDLMSPushTargetDlg dlg = new GXDLMSPushTargetDlg(it, target.Parent as GXDLMSObjectCollection);
             if (dlg.ShowDialog(this) == DialogResult.OK)
             {
                 target.PushObjectList.Remove(it);
                 it = dlg.Target;
                 target.PushObjectList.Add(it);
                 li.SubItems[0].Text = it.Key.ObjectType.ToString();
                 li.SubItems[1].Text = it.Key.LogicalName;
                 li.SubItems[2].Text = it.Value.AttributeIndex.ToString();
                 li.SubItems[3].Text = it.Value.DataIndex.ToString();
                 li.Tag = it;
                 errorProvider1.SetError(ObjectsLV, Properties.Resources.ValueChangedTxt);
                 Target.UpdateDirty(2, target.PushObjectList);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message, "Error",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 /// <summary>
 /// Add new Object to push view.
 /// </summary>
 private void ObjectsAddBtn_Click(object sender, EventArgs e)
 {
     try
     {
         GXDLMSPushSetup target = Target as GXDLMSPushSetup;
         KeyValuePair <GXDLMSObject, GXDLMSCaptureObject> it = new KeyValuePair <GXDLMSObject, GXDLMSCaptureObject>();
         GXDLMSPushTargetDlg dlg = new GXDLMSPushTargetDlg(it, target.Parent as GXDLMSObjectCollection);
         if (dlg.ShowDialog(this) == DialogResult.OK)
         {
             it = dlg.Target;
             ListViewItem li = ObjectsLV.Items.Add(it.Key.ObjectType.ToString());
             li.SubItems.Add(it.Key.LogicalName);
             li.SubItems.Add(it.Value.AttributeIndex.ToString());
             li.SubItems.Add(it.Value.DataIndex.ToString());
             li.Tag = it;
             target.PushObjectList.Add(it);
         }
         errorProvider1.SetError(ObjectsLV, Properties.Resources.ValueChangedTxt);
         Target.UpdateDirty(2, target.PushObjectList);
     }
     catch (Exception ex)
     {
         DialogResult = DialogResult.None;
         MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }