/// <summary> /// Открываем форму редактирования выделенных объектов /// </summary> private void ItemEditButton_Click(object sender, EventArgs e) { Type editType = null; ListView listView = null; WebPanelOptionData.IOptionData options = AccountManager.SelectAccount.WebPanelAPIOptions.Clone() as WebPanelOptionData.IOptionData; if (sender.Equals(this.IDomainEditButton)) { editType = typeof(WebPanelItems.DomainItem); listView = this.DomainListView; } else if (sender.Equals(this.ISubDomainEditButton)) { editType = typeof(WebPanelItems.SubDomainItem); listView = this.SubDomainListView; } WebPanelItems.WebPanelItemCollection remCollection = WebPanelAccount.AccountManager.SelectAccount.PanelItems[editType].SelectRange(listView.SelectedIndices.Cast <int>().Select(item => item)); ActionsTaskForm editForm = new ActionsTaskForm(remCollection, options); editForm.FormClosedEvent += new EventHandler <BatchDomainTools.WebPanelCommons.SimpleEventArgs>((_sender, _e) => { if ((bool)_e.EventArg) { ItemListUpdButton_Click(editType, e); } }); editForm.ShowDialog(); }
/// <summary> /// Открываем форму добавления объектов /// TODO: Объединить часть кода получения типа объектов с ItemRemoveButton_Click, ItemEditButton_Click, ItemListUpdButton_Click в один метод /// </summary> private void ItemAdd_Click(object sender, EventArgs e) { WebPanelOptionData.IOptionData options = AccountManager.SelectAccount.WebPanelAPIOptions.Clone() as WebPanelOptionData.IOptionData; Type addType = null; if (sender.Equals(this.IDomainAddButton)) { addType = typeof(WebPanelItems.DomainItem); } else if (sender.Equals(this.ISubDomainAddButton)) { addType = typeof(WebPanelItems.SubDomainItem); } ActionsTaskForm addForm = new ActionsTaskForm(addType, options); addForm.FormClosedEvent += new EventHandler <BatchDomainTools.WebPanelCommons.SimpleEventArgs>((_sender, _e) => { if ((bool)_e.EventArg) { ItemListUpdButton_Click(addType, e); } }); addForm.ShowDialog(); }
/// <summary> /// Создает экземпляр ActionsExecuteForm для добавления элементов указанного типа, использую дополнительные опции добавления /// </summary> public ActionsTaskForm(Type AddType, WebPanelOptionData.IOptionData AddOptions) : this(ActionsType.Add, null, AddType, AddOptions) { }
public ActionsTaskForm(ActionsType _actionsType, WebPanelItemCollection ItemsToProcess, Type _workType, WebPanelOptionData.IOptionData ExtOptions) { InitializeComponent(); this.actionsType = _actionsType; if (this.actionsType == ActionsType.Add) { this.ActionBackGroundWorker = new WebPanelActionsTask.ActionAddTask(); this.TaskTypePict.Image = global::BatchDomainTools.Properties.Resources.AddTaskIcon; this.Text = "Добавления новых объектов"; this.desription = new Dictionary <string, string>() { { "Укажите объекты для добавления", "Каждый добавляемый объект должен начинаться с новой строки" }, { "Вы можете указать параметры для добавляемых объектов", "По умолчанию используются стандартные параметры для панели" },// из настроек программы"}, { "Все готово, можно начинать процесс добавления", "Нажмите кнопку старта для начала процесса добавления" } }; } else { if (this.actionsType == ActionsType.Edit) { this.ActionBackGroundWorker = new WebPanelActionsTask.ActionEditTask(); this.TaskTypePict.Image = global::BatchDomainTools.Properties.Resources.EditTaskIcon; this.Text = "Редактирование выделенных объектов"; this.desription = new Dictionary <string, string>() { { "Укажите объекты для редактирования", "Каждый редактируемый объект должен начинаться с новой строки" }, { "Измените параметры для редактируемых объектов", "По умолчанию используются стандартные параметры для панели" }, { "Все готово, можно начинать процесс редактирования", "Нажмите кнопку старта для начала процесса редактирования" } }; } else if (this.actionsType == ActionsType.Remove) { this.ActionBackGroundWorker = new WebPanelActionsTask.ActionRemoveTask(); this.TaskTypePict.Image = global::BatchDomainTools.Properties.Resources.DeleteTaskIcon; this.Text = "Удаление выделенных объектов"; this.desription = new Dictionary <string, string>() { { "Укажите объекты для удаления", "Каждый удаляемый объект должен начинаться с новой строки" }, { "Измените параметры удаления объектов", "По умолчанию будут использованны параметры из настроек программы" }, { "Можно начинать процесс удаления", "Для начала процесса удаления нажмите на кнопку старта" } }; } } if (ExtOptions == null) { this.tablessControl1.TabPages.Remove(this.PropertyChangeTabPage); this.desription.Remove(this.desription.ElementAt(1).Key); } else { this.PropertyData = ExtOptions; this.OptionsGrid.SelectedObject = this.PropertyData; this.OptionsGrid.PropertyValueChanged += new PropertyValueChangedEventHandler(OprionsGrid_PropertyValueChanged); } this.tablessControl1.SelectedIndexChanged += new EventHandler(tablessControl1_SelectedIndexChanged); this.ActionBackGroundWorker.ProgressChanged += new ProgressChangedEventHandler(bgWorker_ProgressChanged); this.ActionBackGroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(ActionBackGroundWorker_RunWorkerCompleted); this.workType = _workType; this.panel3.Paint += new PaintEventHandler((_sender, _e) => { ControlPaint.DrawBorder(_e.Graphics, _e.ClipRectangle, Color.Transparent, 0, ButtonBorderStyle.None, Color.FromArgb(223, 223, 223), 1, ButtonBorderStyle.Solid, Color.Transparent, 0, ButtonBorderStyle.None, Color.Transparent, 0, ButtonBorderStyle.None); }); this.panel2.Paint += new PaintEventHandler((__sender, __e) => { ControlPaint.DrawBorder(__e.Graphics, __e.ClipRectangle, Color.Transparent, 0, ButtonBorderStyle.None, Color.Transparent, 0, ButtonBorderStyle.Solid, Color.Transparent, 0, ButtonBorderStyle.None, Color.FromArgb(223, 223, 223), 1, ButtonBorderStyle.Solid); }); this.TitleLabel.Text = desription.ElementAt(this.tablessControl1.SelectedIndex).Key; this.Desriptionlabel.Text = desription.ElementAt(this.tablessControl1.SelectedIndex).Value; if (ItemsToProcess != null) { this.DomaintBox.Lines = ItemsToProcess.ToStringArray(); } }
/// <summary> /// Создает экземпляр ActionsExecuteForm для изменения переданных элементов /// </summary> public ActionsTaskForm(WebPanelItemCollection ItemsToProcess, WebPanelOptionData.IOptionData EditOptions) : this(ActionsType.Edit, ItemsToProcess, ItemsToProcess.CollectionType, EditOptions) { }