Browse Source

SearchResultPanel's 'Select Search Mode' drop-down menu is now generated dynamically from the SearchResultPanelViewMode enum.

The drop-down menu now shows which mode is currently selected by setting & updating the ToolStripMenuItem.Checked property of each menu entry.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1000 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Alpert 20 years ago
parent
commit
76f8cab016
  1. 9
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs
  2. 36
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs

9
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanel.cs

@ -22,11 +22,18 @@ using ICSharpCode.SharpDevelop.Gui; @@ -22,11 +22,18 @@ using ICSharpCode.SharpDevelop.Gui;
namespace SearchAndReplace
{
/// <summary>
/// Specifies the format for viewing search results in the <see cref="SearchResultPanel"/>.
/// </summary>
/// <remarks>
/// The members of this enumeration are used to auto-generate the
/// 'Select Search Mode' drop-down menu in the <see cref="SearchResultPanel"/>.
/// </remarks>
public enum SearchResultPanelViewMode
{
Flat,
PerFile,
Structural
//Structural // TODO: what is this intended for?
}
public class SearchResultPanel : AbstractPadContent, IOwnerState

36
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Pad/SearchResultPanelToolbarCommands.cs

@ -114,25 +114,37 @@ namespace SearchAndReplace @@ -114,25 +114,37 @@ namespace SearchAndReplace
PadDescriptor searchResultPanel = WorkbenchSingleton.Workbench.GetPad(typeof(SearchResultPanel));
if (searchResultPanel != null) {
searchResultPanel.BringPadToFront();
SearchResultPanel.Instance.ViewMode = (SearchResultPanelViewMode)((ToolStripItem)sender).Tag;
SearchResultPanel.Instance.ViewMode = (SearchResultPanelViewMode)((ToolStripItem)sender).Tag; ;
UpdateDropDownItems();
} else {
MessageService.ShowError("SearchResultPanel can't be found.");
}
}
void UpdateDropDownItems()
{
// Synchronize the Checked state of the menu items with
// the current ViewMode of the SearchResultPanel.
foreach(ToolStripItem item in dropDownButton.DropDownItems) {
((ToolStripMenuItem)item).Checked =
(SearchResultPanelViewMode)item.Tag == SearchResultPanel.Instance.ViewMode;
}
}
void GenerateDropDownItems()
{
ToolStripItem newItem = new ToolStripMenuItem();
newItem.Text = StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.PerFile}");
newItem.Tag = SearchResultPanelViewMode.PerFile;
newItem.Click += new EventHandler(SetViewMode);
dropDownButton.DropDownItems.Add(newItem);
newItem = new ToolStripMenuItem();
newItem.Text = StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel.Flat}");
newItem.Tag = SearchResultPanelViewMode.Flat;
newItem.Click += new EventHandler(SetViewMode);
dropDownButton.DropDownItems.Add(newItem);
ToolStripMenuItem newItem = null;
string menuItemText = String.Empty;
// Use SearchResultPanelViewMode enum to generate the menu choices automatically.
foreach (SearchResultPanelViewMode viewMode in System.Enum.GetValues(typeof(SearchResultPanelViewMode))) {
newItem = new ToolStripMenuItem();
newItem.Text = StringParser.Parse("${res:MainWindow.Windows.SearchResultPanel."+viewMode.ToString()+"}");
newItem.Tag = viewMode;
newItem.Click += new EventHandler(SetViewMode);
newItem.Checked = SearchResultPanel.Instance.ViewMode == viewMode;
dropDownButton.DropDownItems.Add(newItem);
}
}
protected override void OnOwnerChanged(EventArgs e)

Loading…
Cancel
Save