From ce2ff1fc4acb42b997b5e1b73bae84980c031cc7 Mon Sep 17 00:00:00 2001 From: Will0mane Date: Thu, 12 Dec 2024 18:16:59 +0100 Subject: [PATCH] Search and delete --- orchestrator-ui/MainUI.Designer.cs | 27 ++++++ orchestrator-ui/MainUI.cs | 52 ++++++++++- orchestrator-ui/SearchForm.Designer.cs | 82 +++++++++++++++++ orchestrator-ui/SearchForm.cs | 30 +++++++ orchestrator-ui/SearchForm.resx | 120 +++++++++++++++++++++++++ 5 files changed, 310 insertions(+), 1 deletion(-) create mode 100644 orchestrator-ui/SearchForm.Designer.cs create mode 100644 orchestrator-ui/SearchForm.cs create mode 100644 orchestrator-ui/SearchForm.resx diff --git a/orchestrator-ui/MainUI.Designer.cs b/orchestrator-ui/MainUI.Designer.cs index 1fe7a1c..91a1d0d 100644 --- a/orchestrator-ui/MainUI.Designer.cs +++ b/orchestrator-ui/MainUI.Designer.cs @@ -37,6 +37,8 @@ literalBox = new CheckBox(); saveButton = new Button(); listView1 = new ListView(); + removeButton = new Button(); + findButton = new Button(); SuspendLayout(); // // sourceBox @@ -127,12 +129,35 @@ listView1.TabIndex = 9; listView1.UseCompatibleStateImageBehavior = false; listView1.View = View.List; + listView1.KeyDown += listView1_KeyDown; + // + // removeButton + // + removeButton.Location = new Point(750, 395); + removeButton.Name = "removeButton"; + removeButton.Size = new Size(26, 29); + removeButton.TabIndex = 10; + removeButton.Text = "-"; + removeButton.UseVisualStyleBackColor = true; + removeButton.Click += removeButton_Click; + // + // findButton + // + findButton.Location = new Point(718, 395); + findButton.Name = "findButton"; + findButton.Size = new Size(26, 29); + findButton.TabIndex = 11; + findButton.Text = "?"; + findButton.UseVisualStyleBackColor = true; + findButton.Click += findButton_Click; // // MainUI // AutoScaleDimensions = new SizeF(8F, 20F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(800, 450); + Controls.Add(findButton); + Controls.Add(removeButton); Controls.Add(listView1); Controls.Add(saveButton); Controls.Add(literalBox); @@ -158,5 +183,7 @@ private CheckBox literalBox; private Button saveButton; private ListView listView1; + private Button removeButton; + private Button findButton; } } diff --git a/orchestrator-ui/MainUI.cs b/orchestrator-ui/MainUI.cs index b0df19e..7f57600 100644 --- a/orchestrator-ui/MainUI.cs +++ b/orchestrator-ui/MainUI.cs @@ -54,13 +54,63 @@ namespace orchestrator_ui listView1.Items.Add(stringBuilder.ToString()); } + private void saveButton_Click(object sender, EventArgs e) { List list = new List(); - foreach (ListViewItem item in listView1.Items) { + foreach (ListViewItem item in listView1.Items) + { list.Add(item.Text); } + // abs File.WriteAllLines(FileName, list.ToArray()); } + + private void delete() + { + foreach (ListViewItem eachItem in listView1.SelectedItems) + { + listView1.Items.Remove(eachItem); + } + } + + private void removeButton_Click(object sender, EventArgs e) + { + delete(); + } + + private void listView1_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Delete) + { + delete(); + } + } + + private void findButton_Click(object sender, EventArgs e) + { + SearchForm searchForm = new SearchForm(); + if(searchForm.ShowDialog() == DialogResult.OK) + { + string filter = searchForm.getFilter(); + listView1.SelectedItems.Clear(); + bool found = false; + foreach (ListViewItem item in listView1.Items) + { + if(item.Text.Contains(filter)) + { + item.Selected = true; + listView1.Select(); + found = true; + } + } + + if(!found) + { + MessageBox.Show("No entry found."); + } + + } + } } } diff --git a/orchestrator-ui/SearchForm.Designer.cs b/orchestrator-ui/SearchForm.Designer.cs new file mode 100644 index 0000000..affd8c0 --- /dev/null +++ b/orchestrator-ui/SearchForm.Designer.cs @@ -0,0 +1,82 @@ +namespace orchestrator_ui +{ + partial class SearchForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + textBox1 = new TextBox(); + label1 = new Label(); + ok = new Button(); + SuspendLayout(); + // + // textBox1 + // + textBox1.Location = new Point(83, 54); + textBox1.Name = "textBox1"; + textBox1.Size = new Size(125, 27); + textBox1.TabIndex = 0; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(83, 31); + label1.Name = "label1"; + label1.Size = new Size(76, 20); + label1.TabIndex = 1; + label1.Text = "Search for"; + // + // ok + // + ok.Location = new Point(103, 101); + ok.Name = "ok"; + ok.Size = new Size(94, 29); + ok.TabIndex = 2; + ok.Text = "OK"; + ok.UseVisualStyleBackColor = true; + ok.Click += ok_Click; + // + // SearchForm + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(300, 153); + Controls.Add(ok); + Controls.Add(label1); + Controls.Add(textBox1); + Name = "SearchForm"; + Text = "Search"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private TextBox textBox1; + private Label label1; + private Button ok; + } +} \ No newline at end of file diff --git a/orchestrator-ui/SearchForm.cs b/orchestrator-ui/SearchForm.cs new file mode 100644 index 0000000..76c1cec --- /dev/null +++ b/orchestrator-ui/SearchForm.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace orchestrator_ui +{ + public partial class SearchForm : Form + { + public SearchForm() + { + InitializeComponent(); + } + + public string getFilter() + { + return textBox1.Text; + } + + private void ok_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + } + } +} diff --git a/orchestrator-ui/SearchForm.resx b/orchestrator-ui/SearchForm.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/orchestrator-ui/SearchForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file