private void ListProjects() { container.Controls.Clear(); foreach (ProjectInfo i in projectList) { DeadlineWatcherListItem.ProjectListItem item = new DeadlineWatcherListItem.ProjectListItem(); item.Dock = DockStyle.Top; item.project_name = i.name; item.id = i.id; item.project_desc = i.desc; item.project_start = i.start; item.project_end = i.end; item.AllowDrop = true; item.DeleteClicked += İtem_DeleteClicked; item.UpdateClicked += İtem_UpdateClicked; item.DragEnter += İtem_DragEnter; item.DragLeave += İtem_DragLeave; item.DragDrop += İtem_DragDrop; container.Controls.Add(item); } }
private void İtem_UpdateClicked(object sender, string id) { DeadlineWatcherListItem.ProjectListItem itm = (DeadlineWatcherListItem.ProjectListItem)sender; ProjectDetails pd = new ProjectDetails(); foreach (ProjectInfo i in projectList) { if (i.id == itm.id) { pd.setInfo(i); break; } } if (pd.ShowDialog() == DialogResult.OK) { for (int i = 0; i < projectList.Count; i++) { if (projectList[i].id == pd.getInfo().id) { projectList[i] = pd.getInfo(); SaveProject(pd.getInfo()); break; } } ListProjects(); } }
private void İtem_DragEnter(object sender, DragEventArgs e) { DeadlineWatcherListItem.ProjectListItem itm = (DeadlineWatcherListItem.ProjectListItem)sender; e.Effect = DragDropEffects.Move; itm.showDragArrow(true); dragTarget = itm.id; }
private void İtem_DeleteClicked(object sender, string id) { if (MessageBox.Show("Emin Misiniz?", "Proje Sil", MessageBoxButtons.YesNo) == DialogResult.Yes) { DeadlineWatcherListItem.ProjectListItem itm = (DeadlineWatcherListItem.ProjectListItem)sender; for (int i = 0; i < container.Controls.Count; i++) { Control c = container.Controls[i]; if (((DeadlineWatcherListItem.ProjectListItem)c).id == itm.id) { DeleteProject(itm.id); ListProjects(); break; } } } }
private void İtem_DragDrop(object sender, DragEventArgs e) { DeadlineWatcherListItem.ProjectListItem itm = (DeadlineWatcherListItem.ProjectListItem)sender; itm.showDragArrow(false); string source = e.Data.GetData("DragSourceID").ToString(); //Console.WriteLine(source + " -> " + dragTarget); int index = 0; int source_index = -1; int target_index = -1; foreach (ProjectInfo i in projectList) { if (i.id == source) { source_index = index; } if (i.id == dragTarget) { target_index = index; } index++; } if (source_index != -1 && target_index != -1 && source_index != target_index) { ProjectInfo temp = projectList[source_index]; projectList[source_index] = projectList[target_index]; projectList[target_index] = temp; string str_json = JsonConvert.SerializeObject(projectList, Formatting.Indented); File.WriteAllText(json_path, str_json); ListProjects(); } dragTarget = ""; //Console.WriteLine(e.Data.ToString()); }
private void İtem_DragLeave(object sender, EventArgs e) { DeadlineWatcherListItem.ProjectListItem itm = (DeadlineWatcherListItem.ProjectListItem)sender; itm.showDragArrow(false); }