3 changed files with 0 additions and 422 deletions
@ -1,358 +0,0 @@ |
|||||||
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
|
||||||
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
|
||||||
|
|
||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using System.Windows.Forms; |
|
||||||
|
|
||||||
using ICSharpCode.Core; |
|
||||||
using ICSharpCode.SharpDevelop.WinForms; |
|
||||||
|
|
||||||
namespace ICSharpCode.SharpDevelop.Gui |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Control to edit a list of strings.
|
|
||||||
/// </summary>
|
|
||||||
public class StringListEditor : System.Windows.Forms.UserControl |
|
||||||
{ |
|
||||||
public StringListEditor() |
|
||||||
{ |
|
||||||
//
|
|
||||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
|
||||||
//
|
|
||||||
InitializeComponent(); |
|
||||||
|
|
||||||
this.ManualOrder = true; |
|
||||||
this.BrowseForDirectory = false; |
|
||||||
// init enabled states:
|
|
||||||
ListBoxSelectedIndexChanged(null, null); |
|
||||||
EditTextBoxTextChanged(null, null); |
|
||||||
addButton.Text = StringParser.Parse(addButton.Text); |
|
||||||
updateButton.Text = StringParser.Parse(updateButton.Text); |
|
||||||
removeButton.Text = StringParser.Parse(removeButton.Text); |
|
||||||
moveUpButton.Image = SD.ResourceService.GetBitmap("Icons.16x16.ArrowUp"); |
|
||||||
moveDownButton.Image = SD.ResourceService.GetBitmap("Icons.16x16.ArrowDown"); |
|
||||||
deleteButton.Image = SD.ResourceService.GetBitmap("Icons.16x16.DeleteIcon"); |
|
||||||
} |
|
||||||
|
|
||||||
#region Windows Forms Designer generated code
|
|
||||||
/// <summary>
|
|
||||||
/// This method is required for Windows Forms designer support.
|
|
||||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
|
||||||
/// not be able to load this method if it was changed manually.
|
|
||||||
/// </summary>
|
|
||||||
private void InitializeComponent() |
|
||||||
{ |
|
||||||
this.Size = new System.Drawing.Size(380, 272); |
|
||||||
//
|
|
||||||
// StringListEditor
|
|
||||||
//
|
|
||||||
removeButton = new System.Windows.Forms.Button(); |
|
||||||
//
|
|
||||||
// removeButton
|
|
||||||
//
|
|
||||||
removeButton.Location = new System.Drawing.Point(165, 53); |
|
||||||
removeButton.Name = "removeButton"; |
|
||||||
removeButton.Size = new System.Drawing.Size(75, 23); |
|
||||||
removeButton.TabIndex = 5; |
|
||||||
removeButton.Text = "${res:Global.DeleteButtonText}"; |
|
||||||
removeButton.Click += new System.EventHandler(this.RemoveButtonClick); |
|
||||||
deleteButton = new System.Windows.Forms.Button(); |
|
||||||
//
|
|
||||||
// deleteButton
|
|
||||||
//
|
|
||||||
deleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
deleteButton.Location = new System.Drawing.Point(329, 164); |
|
||||||
deleteButton.Name = "deleteButton"; |
|
||||||
deleteButton.Size = new System.Drawing.Size(24, 24); |
|
||||||
deleteButton.TabIndex = 10; |
|
||||||
deleteButton.Click += new System.EventHandler(this.RemoveButtonClick); |
|
||||||
moveDownButton = new System.Windows.Forms.Button(); |
|
||||||
//
|
|
||||||
// moveDownButton
|
|
||||||
//
|
|
||||||
moveDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
moveDownButton.Location = new System.Drawing.Point(329, 134); |
|
||||||
moveDownButton.Name = "moveDownButton"; |
|
||||||
moveDownButton.Size = new System.Drawing.Size(24, 24); |
|
||||||
moveDownButton.TabIndex = 9; |
|
||||||
moveDownButton.Click += new System.EventHandler(this.MoveDownButtonClick); |
|
||||||
moveUpButton = new System.Windows.Forms.Button(); |
|
||||||
//
|
|
||||||
// moveUpButton
|
|
||||||
//
|
|
||||||
moveUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
moveUpButton.Location = new System.Drawing.Point(329, 104); |
|
||||||
moveUpButton.Name = "moveUpButton"; |
|
||||||
moveUpButton.Size = new System.Drawing.Size(24, 24); |
|
||||||
moveUpButton.TabIndex = 8; |
|
||||||
moveUpButton.Click += new System.EventHandler(this.MoveUpButtonClick); |
|
||||||
listBox = new System.Windows.Forms.ListBox(); |
|
||||||
//
|
|
||||||
// listBox
|
|
||||||
//
|
|
||||||
listBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
|
||||||
| System.Windows.Forms.AnchorStyles.Left) |
|
||||||
| System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
listBox.FormattingEnabled = true; |
|
||||||
listBox.Location = new System.Drawing.Point(3, 104); |
|
||||||
listBox.Name = "listBox"; |
|
||||||
listBox.Size = new System.Drawing.Size(320, 160); |
|
||||||
listBox.TabIndex = 7; |
|
||||||
listBox.SelectedIndexChanged += new System.EventHandler(this.ListBoxSelectedIndexChanged); |
|
||||||
listLabel = new System.Windows.Forms.Label(); |
|
||||||
//
|
|
||||||
// listLabel
|
|
||||||
//
|
|
||||||
listLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) |
|
||||||
| System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
listLabel.Location = new System.Drawing.Point(3, 89); |
|
||||||
listLabel.Name = "listLabel"; |
|
||||||
listLabel.Size = new System.Drawing.Size(350, 23); |
|
||||||
listLabel.TabIndex = 6; |
|
||||||
listLabel.Text = "List:"; |
|
||||||
updateButton = new System.Windows.Forms.Button(); |
|
||||||
//
|
|
||||||
// updateButton
|
|
||||||
//
|
|
||||||
updateButton.Location = new System.Drawing.Point(84, 53); |
|
||||||
updateButton.Name = "updateButton"; |
|
||||||
updateButton.Size = new System.Drawing.Size(75, 23); |
|
||||||
updateButton.TabIndex = 4; |
|
||||||
updateButton.Text = "${res:Global.UpdateButtonText}"; |
|
||||||
updateButton.Click += new System.EventHandler(this.UpdateButtonClick); |
|
||||||
addButton = new System.Windows.Forms.Button(); |
|
||||||
//
|
|
||||||
// addButton
|
|
||||||
//
|
|
||||||
addButton.Location = new System.Drawing.Point(3, 53); |
|
||||||
addButton.Name = "addButton"; |
|
||||||
addButton.Size = new System.Drawing.Size(75, 23); |
|
||||||
addButton.TabIndex = 3; |
|
||||||
addButton.Text = "${res:Global.AddButtonText}"; |
|
||||||
addButton.Click += new System.EventHandler(this.AddButtonClick); |
|
||||||
editTextBox = new System.Windows.Forms.TextBox(); |
|
||||||
//
|
|
||||||
// editTextBox
|
|
||||||
//
|
|
||||||
editTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) |
|
||||||
| System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
editTextBox.Location = new System.Drawing.Point(3, 26); |
|
||||||
editTextBox.Name = "editTextBox"; |
|
||||||
editTextBox.Size = new System.Drawing.Size(316, 21); |
|
||||||
editTextBox.TabIndex = 1; |
|
||||||
editTextBox.TextChanged += new System.EventHandler(this.EditTextBoxTextChanged); |
|
||||||
browseButton = new System.Windows.Forms.Button(); |
|
||||||
//
|
|
||||||
// browseButton
|
|
||||||
//
|
|
||||||
browseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
browseButton.Location = new System.Drawing.Point(325, 24); |
|
||||||
browseButton.Name = "browseButton"; |
|
||||||
browseButton.Size = new System.Drawing.Size(28, 23); |
|
||||||
browseButton.TabIndex = 2; |
|
||||||
browseButton.Text = "..."; |
|
||||||
browseButton.Click += new System.EventHandler(this.BrowseButtonClick); |
|
||||||
TitleLabel = new System.Windows.Forms.Label(); |
|
||||||
//
|
|
||||||
// TitleLabel
|
|
||||||
//
|
|
||||||
TitleLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) |
|
||||||
| System.Windows.Forms.AnchorStyles.Right))); |
|
||||||
TitleLabel.Location = new System.Drawing.Point(3, 10); |
|
||||||
TitleLabel.Name = "TitleLabel"; |
|
||||||
TitleLabel.Size = new System.Drawing.Size(350, 23); |
|
||||||
TitleLabel.TabIndex = 0; |
|
||||||
TitleLabel.Text = "Title:"; |
|
||||||
this.Controls.Add(removeButton); |
|
||||||
this.Controls.Add(deleteButton); |
|
||||||
this.Controls.Add(moveDownButton); |
|
||||||
this.Controls.Add(moveUpButton); |
|
||||||
this.Controls.Add(listBox); |
|
||||||
this.Controls.Add(listLabel); |
|
||||||
this.Controls.Add(updateButton); |
|
||||||
this.Controls.Add(addButton); |
|
||||||
this.Controls.Add(editTextBox); |
|
||||||
this.Controls.Add(browseButton); |
|
||||||
this.Controls.Add(TitleLabel); |
|
||||||
this.Name = "StringListEditor"; |
|
||||||
} |
|
||||||
private System.Windows.Forms.Button removeButton; |
|
||||||
private System.Windows.Forms.Button deleteButton; |
|
||||||
private System.Windows.Forms.Button moveDownButton; |
|
||||||
private System.Windows.Forms.Button moveUpButton; |
|
||||||
private System.Windows.Forms.ListBox listBox; |
|
||||||
private System.Windows.Forms.Label listLabel; |
|
||||||
private System.Windows.Forms.Button updateButton; |
|
||||||
private System.Windows.Forms.Button addButton; |
|
||||||
private System.Windows.Forms.TextBox editTextBox; |
|
||||||
private System.Windows.Forms.Button browseButton; |
|
||||||
private System.Windows.Forms.Label TitleLabel; |
|
||||||
#endregion
|
|
||||||
|
|
||||||
public event EventHandler ListChanged; |
|
||||||
|
|
||||||
protected virtual void OnListChanged(EventArgs e) |
|
||||||
{ |
|
||||||
if (ListChanged != null) { |
|
||||||
ListChanged(this, e); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public bool ManualOrder { |
|
||||||
get { |
|
||||||
return !listBox.Sorted; |
|
||||||
} |
|
||||||
set { |
|
||||||
moveUpButton.Visible = moveDownButton.Visible = deleteButton.Visible = value; |
|
||||||
removeButton.Visible = !value; |
|
||||||
listBox.Sorted = !value; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
bool browseForDirectory; |
|
||||||
|
|
||||||
public bool BrowseForDirectory { |
|
||||||
get { |
|
||||||
return browseForDirectory; |
|
||||||
} |
|
||||||
set { |
|
||||||
browseForDirectory = value; |
|
||||||
browseButton.Visible = browseForDirectory; // || browseForFile;
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
bool autoAddAfterBrowse; |
|
||||||
|
|
||||||
public bool AutoAddAfterBrowse { |
|
||||||
get { |
|
||||||
return autoAddAfterBrowse; |
|
||||||
} |
|
||||||
set { |
|
||||||
autoAddAfterBrowse = value; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public string TitleText { |
|
||||||
get { |
|
||||||
return TitleLabel.Text; |
|
||||||
} |
|
||||||
set { |
|
||||||
TitleLabel.Text = value; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public string AddButtonText { |
|
||||||
get { |
|
||||||
return addButton.Text; |
|
||||||
} |
|
||||||
set { |
|
||||||
addButton.Text = value; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public string ListCaption { |
|
||||||
get { |
|
||||||
return listLabel.Text; |
|
||||||
} |
|
||||||
set { |
|
||||||
listLabel.Text = value; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public void LoadList(IEnumerable<string> list) |
|
||||||
{ |
|
||||||
listBox.Items.Clear(); |
|
||||||
foreach (string str in list) { |
|
||||||
listBox.Items.Add(str); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public string[] GetList() |
|
||||||
{ |
|
||||||
string[] list = new string[listBox.Items.Count]; |
|
||||||
for (int i = 0; i < list.Length; i++) { |
|
||||||
list[i] = listBox.Items[i].ToString(); |
|
||||||
} |
|
||||||
return list; |
|
||||||
} |
|
||||||
|
|
||||||
void BrowseButtonClick(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
string path = SD.FileService.BrowseForFolder("${res:Dialog.ProjectOptions.SelectFolderTitle}"); |
|
||||||
if (path != null) { |
|
||||||
if (!path.EndsWith("\\") && !path.EndsWith("/")) |
|
||||||
path += "\\"; |
|
||||||
editTextBox.Text = path; |
|
||||||
if (autoAddAfterBrowse) { |
|
||||||
AddButtonClick(null, null); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void AddButtonClick(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
editTextBox.Text = editTextBox.Text.Trim(); |
|
||||||
if (editTextBox.TextLength > 0) { |
|
||||||
int index = listBox.Items.IndexOf(editTextBox.Text); |
|
||||||
if (index < 0) { |
|
||||||
index = listBox.Items.Add(editTextBox.Text); |
|
||||||
OnListChanged(EventArgs.Empty); |
|
||||||
} |
|
||||||
listBox.SelectedIndex = index; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void UpdateButtonClick(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
editTextBox.Text = editTextBox.Text.Trim(); |
|
||||||
if (editTextBox.TextLength > 0) { |
|
||||||
listBox.Items[listBox.SelectedIndex] = editTextBox.Text; |
|
||||||
OnListChanged(EventArgs.Empty); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void RemoveButtonClick(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
listBox.Items.RemoveAt(listBox.SelectedIndex); |
|
||||||
OnListChanged(EventArgs.Empty); |
|
||||||
} |
|
||||||
|
|
||||||
void MoveUpButtonClick(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
int index = listBox.SelectedIndex; |
|
||||||
object tmp = listBox.Items[index]; |
|
||||||
listBox.Items[index] = listBox.Items[index - 1]; |
|
||||||
listBox.Items[index - 1] = tmp; |
|
||||||
listBox.SelectedIndex = index - 1; |
|
||||||
OnListChanged(EventArgs.Empty); |
|
||||||
} |
|
||||||
|
|
||||||
void MoveDownButtonClick(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
int index = listBox.SelectedIndex; |
|
||||||
object tmp = listBox.Items[index]; |
|
||||||
listBox.Items[index] = listBox.Items[index + 1]; |
|
||||||
listBox.Items[index + 1] = tmp; |
|
||||||
listBox.SelectedIndex = index + 1; |
|
||||||
OnListChanged(EventArgs.Empty); |
|
||||||
} |
|
||||||
|
|
||||||
void ListBoxSelectedIndexChanged(object sender, EventArgs e) |
|
||||||
{ |
|
||||||
if (listBox.SelectedIndex >= 0) { |
|
||||||
editTextBox.Text = listBox.Items[listBox.SelectedIndex].ToString(); |
|
||||||
} |
|
||||||
moveUpButton.Enabled = listBox.SelectedIndex > 0; |
|
||||||
moveDownButton.Enabled = listBox.SelectedIndex >= 0 && listBox.SelectedIndex < listBox.Items.Count - 1; |
|
||||||
removeButton.Enabled = deleteButton.Enabled = listBox.SelectedIndex >= 0; |
|
||||||
updateButton.Enabled = listBox.SelectedIndex >= 0 && editTextBox.TextLength > 0; |
|
||||||
} |
|
||||||
|
|
||||||
void EditTextBoxTextChanged(object sender, System.EventArgs e) |
|
||||||
{ |
|
||||||
addButton.Enabled = editTextBox.TextLength > 0; |
|
||||||
updateButton.Enabled = listBox.SelectedIndex >= 0 && editTextBox.TextLength > 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue