protected virtual void ItemsListViewMouseDoubleClick(object sender, MouseEventArgs e) { if (SelectedItem == null) { return; } DisplayerAttribute da = (DisplayerAttribute)_viewedType.GetCustomAttributes(typeof(DisplayerAttribute), false) .FirstOrDefault(); if (da == null || da.DisplayerType == DisplayerType.Form) { Form form; if (SelectedItem is AircraftWorkerCategory) { form = new AircraftWorkerCategoryForm((AircraftWorkerCategory)SelectedItem); } else if (SelectedItem is AccessoryDescription) { form = new AccessoryDescriptionForm((AccessoryDescription)SelectedItem); } else if (SelectedItem is AccessoryRequired) { form = new KitForm((AccessoryRequired)SelectedItem); } else { form = new CommonEditorForm(SelectedItem); } if (form.ShowDialog() == DialogResult.OK) { itemsListView.Items[itemsListView.Items.IndexOf(itemsListView.SelectedItems[0])] = new ListViewItem(GetListViewSubItems(SelectedItem), null) { Tag = SelectedItem }; } } else if (da.DisplayerType == DisplayerType.Screen) { OnDisplayerRequested(); } }
private void ButtonAddClick(object sender, EventArgs e) { try { Form form; if (ViewedType.Name == typeof(AircraftWorkerCategory).Name) { form = new AircraftWorkerCategoryForm(new AircraftWorkerCategory()); } else if (ViewedType.Name == typeof(AccessoryDescription).Name) { form = new AccessoryDescriptionForm(new AccessoryDescription()); } else if (ViewedType.Name == typeof(AccessoryRequired).Name) { form = new KitForm(new AccessoryRequired()); } else { ConstructorInfo ci = ViewedType.GetConstructor(new Type[0]); BaseEntityObject item = (BaseEntityObject)ci.Invoke(null); form = new CommonEditorForm(item); } if (form.ShowDialog() == DialogResult.OK) { itemsListView.Items[itemsListView.Items.IndexOf(itemsListView.SelectedItems[0])] = new ListViewItem(GetListViewSubItems(SelectedItem), null) { Tag = SelectedItem }; } } catch (Exception ex) { Program.Provider.Logger.Log("Error while building new object", ex); return; } }