///<summary> /// Создается объект, описывающий отображение добавления шаблонной директивы ///</summary> /// <param name="parentAircraft">Родительский объект, в который добавляется шаблонная директива</param> /// <param name="directiveType">Тип директивы</param> public DispatcheredTemplateDirectiveAdding(TemplateAircraft parentAircraft, DirectiveType directiveType) : this() { if (parentAircraft == null) { throw new ArgumentNullException("parentAircraft"); } parentBaseDetail = parentAircraft; this.directiveType = directiveType; aircraftHeader.Aircraft = parentAircraft; ClearFields(); }
/// <summary> /// Создает элемент управления отображающий listview по заданому масиву шаблонных директив /// </summary> /// <param name="directiveSource">Контейнер директив</param> /// <param name="filter"></param> public TemplateDirectiveListView(ITemplateDirectiveContainer directiveSource, TemplateDirectiveCollectionFilter filter) { sortMultiplier = -1; selectedItemsList = new List <TemplateBaseDetailDirective>(); ItemsListView.ColumnClick += ItemsListView_ColumnClick; ItemsListView.MouseDoubleClick += ItemsListView_MouseDoubleClick; ItemsListView.SelectedIndexChanged += ItemsListView_SelectedIndexChanged; ItemsListView.KeyDown += ItemsListView_KeyDown; DisplayerRequested += DirectiveListView_DisplayerRequested; columnIndexQueue.Enqueue(0); this.directiveSource = directiveSource; this.filter = filter; }
private void buttonDeleteSelected_Click(object sender, EventArgs e) { if ((directivesViewer.SelectedItems == null) && (directivesViewer.SelectedItem == null)) { return; } DialogResult confirmResult = MessageBox.Show( directivesViewer.SelectedItem != null ? "Do you really want to delete directive " + directivesViewer.SelectedItem.Title + "?" : "Do you really want to delete selected directives? ", "Confirm delete operation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (confirmResult == DialogResult.Yes) { ITemplateDirectiveContainer parent = directivesViewer.SelectedItems[0].Parent as ITemplateDirectiveContainer; if (parent != null) { int count = directivesViewer.SelectedItems.Count; try { List <TemplateBaseDetailDirective> selectedItems = new List <TemplateBaseDetailDirective>(directivesViewer.SelectedItems); for (int i = 0; i < count; i++) { parent.Remove(selectedItems[i]); } } catch (Exception ex) { Program.Provider.Logger.Log("Error while deleting data", ex); return; } ReloadElements(); } else { MessageBox.Show("Failed to delete directive: Parent container is invalid", "Operation failed", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
protected void Initialize(ITemplateDirectiveContainer currentItem) { TemplateDirectiveCollectionFilter filter = new TemplateDirectiveCollectionFilter(currentItem.ContainedDirectives, GetCollectionFilters()); if (currentItem is TemplateAircraft) { this.currentItem = (TemplateAircraft)currentItem; control = new TemplateDirectiveListScreen((TemplateAircraft)currentItem, filter, ReportTitileText); } if (currentItem is TemplateBaseDetail) { this.currentItem = (TemplateBaseDetail)currentItem; control = new TemplateDirectiveListScreen((TemplateBaseDetail)currentItem, filter, ReportTitileText); } control.CurrentDirectiveType = DirectiveDefaultType; if (control != null) { control.ReportText = ReportTitileText; control.Dock = DockStyle.Fill; Controls.Add(control); Dock = DockStyle.Fill; } }
/// <summary> /// Создается элемент - отображение шаблонных директив заданного ВС /// </summary> /// <param name="currentItem"></param> protected DispatcheredTemplateDirectiveListView(ITemplateDirectiveContainer currentItem) { Initialize(currentItem); this.InitComplition += DispatcheredDirectivesView_InitComplition; }