Browse Source

reimplement Copy and SelectAll commands

pull/59/merge
Siegfried Pammer 12 years ago
parent
commit
0a6a63e58e
  1. 40
      src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs
  2. 44
      src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs

40
src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs

@ -6,15 +6,15 @@ using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Core.Presentation; using ICSharpCode.Core.Presentation;
using ICSharpCode.SharpDevelop.Project; using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.WinForms;
using ICSharpCode.SharpDevelop.Workbench; using ICSharpCode.SharpDevelop.Workbench;
namespace ICSharpCode.SharpDevelop.Gui namespace ICSharpCode.SharpDevelop.Gui
{ {
public class ErrorListPad : AbstractPadContent, IClipboardHandler public class ErrorListPad : AbstractPadContent
{ {
public const string DefaultContextMenuAddInTreeEntry = "/SharpDevelop/Pads/ErrorList/TaskContextMenu"; public const string DefaultContextMenuAddInTreeEntry = "/SharpDevelop/Pads/ErrorList/TaskContextMenu";
@ -105,6 +105,9 @@ namespace ICSharpCode.SharpDevelop.Gui
errorView.Style = (Style)new TaskViewResources()["TaskListView"]; errorView.Style = (Style)new TaskViewResources()["TaskListView"];
errorView.ContextMenu = MenuService.CreateContextMenu(this, DefaultContextMenuAddInTreeEntry); errorView.ContextMenu = MenuService.CreateContextMenu(this, DefaultContextMenuAddInTreeEntry);
errorView.CommandBindings.Add(new CommandBinding(ApplicationCommands.Copy, ExecuteCopy, CanExecuteCopy));
errorView.CommandBindings.Add(new CommandBinding(ApplicationCommands.SelectAll, ExecuteSelectAll, CanExecuteSelectAll));
errors.CollectionChanged += delegate { MenuService.UpdateText(toolBar.Items); }; errors.CollectionChanged += delegate { MenuService.UpdateText(toolBar.Items); };
InternalShowResults(); InternalShowResults();
@ -196,35 +199,24 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
} }
#region IClipboardHandler interface implementation void CanExecuteCopy(object sender, CanExecuteRoutedEventArgs e)
public bool EnableCut { {
get { return false; } e.CanExecute = errorView.SelectedItem != null;
}
public bool EnableCopy {
get { return errorView.SelectedItem != null; }
}
public bool EnablePaste {
get { return false; }
}
public bool EnableDelete {
get { return false; }
}
public bool EnableSelectAll {
get { return true; }
} }
public void Cut() {} void ExecuteCopy(object sender, ExecutedRoutedEventArgs e)
public void Paste() {}
public void Delete() {}
public void Copy()
{ {
TaskViewResources.CopySelectionToClipboard(errorView); TaskViewResources.CopySelectionToClipboard(errorView);
} }
public void SelectAll()
void CanExecuteSelectAll(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
void ExecuteSelectAll(object sender, ExecutedRoutedEventArgs e)
{ {
errorView.SelectAll(); errorView.SelectAll();
} }
#endregion
} }
} }

44
src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs

@ -9,16 +9,16 @@ using System.Linq;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input;
using ICSharpCode.Core.Presentation; using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Project; using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.WinForms;
using ICSharpCode.SharpDevelop.Workbench; using ICSharpCode.SharpDevelop.Workbench;
namespace ICSharpCode.SharpDevelop.Gui namespace ICSharpCode.SharpDevelop.Gui
{ {
public class TaskListPad : AbstractPadContent, IClipboardHandler public class TaskListPad : AbstractPadContent
{ {
public const string DefaultContextMenuAddInTreeEntry = "/SharpDevelop/Pads/TaskList/TaskContextMenu"; public const string DefaultContextMenuAddInTreeEntry = "/SharpDevelop/Pads/TaskList/TaskContextMenu";
@ -27,7 +27,7 @@ namespace ICSharpCode.SharpDevelop.Gui
readonly ObservableCollection<SDTask> tasks; readonly ObservableCollection<SDTask> tasks;
IUnresolvedTypeDefinition oldClass; IUnresolvedTypeDefinition oldClass;
int selectedScopeIndex = 0; int selectedScopeIndex = 0;
bool isInitialized = false; bool isInitialized;
public bool IsInitialized { public bool IsInitialized {
get { return isInitialized; } get { return isInitialized; }
@ -151,9 +151,12 @@ namespace ICSharpCode.SharpDevelop.Gui
taskView.MouseDoubleClick += TaskViewMouseDoubleClick; taskView.MouseDoubleClick += TaskViewMouseDoubleClick;
taskView.Style = (Style)new TaskViewResources()["TaskListView"]; taskView.Style = (Style)new TaskViewResources()["TaskListView"];
taskView.ContextMenu = MenuService.CreateContextMenu(taskView, DefaultContextMenuAddInTreeEntry); taskView.ContextMenu = MenuService.CreateContextMenu(taskView, DefaultContextMenuAddInTreeEntry);
taskView.CommandBindings.Add(new CommandBinding(ApplicationCommands.Copy, ExecuteCopy, CanExecuteCopy));
taskView.CommandBindings.Add(new CommandBinding(ApplicationCommands.SelectAll, ExecuteSelectAll, CanExecuteSelectAll));
} }
void TaskViewMouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) void TaskViewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{ {
SDTask task = taskView.SelectedItem as SDTask; SDTask task = taskView.SelectedItem as SDTask;
var item = taskView.ItemContainerGenerator.ContainerFromItem(task) as ListViewItem; var item = taskView.ItemContainerGenerator.ContainerFromItem(task) as ListViewItem;
@ -276,36 +279,25 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
} }
#region IClipboardHandler interface implementation void CanExecuteCopy(object sender, CanExecuteRoutedEventArgs e)
public bool EnableCut { {
get { return false; } e.CanExecute = taskView.SelectedItem != null;
}
public bool EnableCopy {
get { return taskView.SelectedItem != null; }
}
public bool EnablePaste {
get { return false; }
}
public bool EnableDelete {
get { return false; }
}
public bool EnableSelectAll {
get { return true; }
} }
public void Cut() {} void ExecuteCopy(object sender, ExecutedRoutedEventArgs e)
public void Paste() {}
public void Delete() {}
public void Copy()
{ {
TaskViewResources.CopySelectionToClipboard(taskView); TaskViewResources.CopySelectionToClipboard(taskView);
} }
public void SelectAll()
void CanExecuteSelectAll(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
void ExecuteSelectAll(object sender, ExecutedRoutedEventArgs e)
{ {
taskView.SelectAll(); taskView.SelectAll();
} }
#endregion
} }
} }

Loading…
Cancel
Save