private void PopulateSubObjects() { imageList1.Images.Clear(); string msg = null; foreach (var item in CommonData.Preferences.EventImageLocations) { try { imageList1.Images.Add(Image.FromFile(item)); } catch (Exception) { msg = msg + item + "\n"; } } if (msg != null) { MessageBox.Show(msg); } if (CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects.Count > 0) { foreach (var subObject in CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects) { int index = GroundEventFunctions.GetSubObjectImageIndex(subObject); var listItem = new ListViewItem(); listItem.ImageIndex = index; listItem.SubItems[0].Text = subObject.Name; SubObjectList.Items.Add(listItem); } } }
private void Add_Click(object sender, EventArgs e) { SubObjectList.SmallImageList = imageList1; SubObject newSub = new SubObject(); newSub.Type = "Unknown"; if (CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects.Count != 0) { newSub.Name = "SubObject" + CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects.Count.ToString(); } else { newSub.Name = "SubObject"; } //Assign default values to class newSub.Latitude = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Latitude; newSub.Longitude = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Longitude; newSub.ZoomLevel = "1000"; CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects.Add(newSub); int index = GroundEventFunctions.GetSubObjectImageIndex(newSub); var listItem = new ListViewItem(); listItem.ImageIndex = index; listItem.SubItems[0].Text = newSub.Name; SubObjectList.Items.Add(listItem); SubObjectList.FocusedItem = listItem; CommonData.SubObjectIndex = SubObjectList.Items.Count - 1; SubObjectType.Enabled = true; ZoomLevel.Enabled = true; LatitudeValue.Enabled = true; LongitudeValue.Enabled = true; NameValue.Enabled = true; //Assign GUI values SubObjectType.SelectedIndex = 0; ZoomLevel.SelectedIndex = 1; LongitudeValue.Text = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Longitude.ToString(); LatitudeValue.Text = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Latitude.ToString(); NameValue.Text = newSub.Name; //Create sub-object and change color to match higher level object GroundEventFunctions.CreateSubObject(CommonData.CurrentEvents[CommonData.EventSelectedIndex], newSub); CreatorFunctions.ChangeObjectColor("Place/" + CommonData.CurrentEvents[CommonData.EventSelectedIndex].Id + "-" + newSub.Name, (CustomUserInterface.ColorOptions)Enum.Parse(typeof(CustomUserInterface.ColorOptions), CommonData.CurrentEvents[CommonData.EventSelectedIndex].ColorOption)); }
private void Add_Click(object sender, EventArgs e) { SubObjectList.SmallImageList = imageList1; SubObject newSub = new SubObject(); newSub.Type = "Unknown"; if (CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects.Count != 0) { newSub.Name = "SubObject" + CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects.Count.ToString(); } else { newSub.Name = "SubObject"; } //Assign default values to class newSub.Latitude = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Latitude; newSub.Longitude = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Longitude; newSub.ZoomLevel = "1000"; CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects.Add(newSub); int index = GroundEventFunctions.GetSubObjectImageIndex(newSub); var listItem = new ListViewItem(); listItem.ImageIndex = index; listItem.SubItems[0].Text = newSub.Name; SubObjectList.Items.Add(listItem); SubObjectList.FocusedItem = listItem; CommonData.SubObjectIndex = SubObjectList.Items.Count - 1; SubObjectType.Enabled = true; ZoomLevel.Enabled = true; LatitudeValue.Enabled = true; LongitudeValue.Enabled = true; NameValue.Enabled = true; //Assign GUI values SubObjectType.SelectedIndex = 0; ZoomLevel.SelectedIndex = 1; LongitudeValue.Text = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Longitude.ToString(); LatitudeValue.Text = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Latitude.ToString(); NameValue.Text = newSub.Name; //Create sub-object GroundEventFunctions.CreateSubObject(CommonData.CurrentEvents[CommonData.EventSelectedIndex], newSub); }
private void SubObjectList_SelectedIndexChanged(object sender, EventArgs e) { if (SubObjectList.SelectedItems != null && SubObjectList.SelectedItems.Count > 0) { CommonData.SubObjectIndex = SubObjectList.FocusedItem.Index; if (SubObjectList.FocusedItem.Index != -1 && SubObjectList.FocusedItem != null) { SubObjectType.SelectedIndex = GroundEventFunctions.GetSubObjectImageIndex(CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex]); ZoomLevel.SelectedIndex = GetIndexFromZoom(); LongitudeValue.Text = CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Longitude; LatitudeValue.Text = CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Latitude; NameValue.Text = CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Name; SubObjectType.Enabled = true; ZoomLevel.Enabled = true; LatitudeValue.Enabled = true; LongitudeValue.Enabled = true; NameValue.Enabled = true; } } }
private void Apply_Click(object sender, EventArgs e) { int fieldCheck = FieldCheck(); if (fieldCheck == 0) { //Assign new data string placeName = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Id + "-" + CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Name; string path = "*/Place/" + placeName; string currentType = CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Type; SubObjectList.SmallImageList = imageList1; CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Latitude = LatitudeValue.Text; CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Longitude = LongitudeValue.Text; CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Name = NameValue.Text; CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].ZoomLevel = GetZoomLevelFromIndex(); CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Type = SubObjectType.Text; //Set interface values int index = GroundEventFunctions.GetSubObjectImageIndex(CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex]); SubObjectList.Items[CommonData.SubObjectIndex].ImageIndex = index; SubObjectList.Items[CommonData.SubObjectIndex].SubItems[0].Text = NameValue.Text; SubObjectList.Refresh(); //Rename STK object string cmd; try { cmd = "Rename " + path + " " + CommonData.CurrentEvents[CommonData.EventSelectedIndex].Id + "-" + NameValue.Text; CommonData.StkRoot.ExecuteCommand(cmd); } catch (Exception) { //MessageBox.Show("Error renaming object"); } //Reassign position. Check is for when the renaming is not successful placeName = CommonData.CurrentEvents[CommonData.EventSelectedIndex].Id + "-" + CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Name; path = "Place/" + placeName; if (CommonData.StkRoot.ObjectExists(path)) { IAgPlace place = CommonData.StkRoot.GetObjectFromPath(path) as IAgPlace; place.Position.AssignGeodetic(Double.Parse(LatitudeValue.Text), Double.Parse(LongitudeValue.Text), 0); } //Change object marker if type changed if (currentType != SubObjectType.Text) { string filePath = GroundEventFunctions.GetImagePath(CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Type); try { cmd = "VO */Place/" + placeName + " marker show on markertype imagefile imagefile \"" + filePath + "\" Size 32"; CommonData.StkRoot.ExecuteCommand(cmd); } catch (Exception) { } } else { CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].Type = SubObjectType.Text; } //Apply zoom level string zoom = CommonData.CurrentEvents[CommonData.EventSelectedIndex].SubObjects[CommonData.SubObjectIndex].ZoomLevel + "000"; try { cmd = "VO */Place/" + placeName + " ModelDetail Set ModelLabel " + zoom + " MarkerLabel " + zoom + " Marker " + zoom + " Point " + zoom; CommonData.StkRoot.ExecuteCommand(cmd); } catch (Exception) { string mes = "Could not Modify Zoom for SubObject"; MessageBox.Show(mes); } //Rewrite output file to reflect changes ReadWrite.WriteEventFile(CommonData.EventFileStr); } }