Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Input / Command / ApplicationCommands.cs / 1 / ApplicationCommands.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: The ApplicationCommands class defines a standard set of commands that are required in most applications.
// The goal of these commands is to unify input, programming model and UI for the most common actions in
// Windows applications thus providing a standard interface for such common commands.
//
// See spec at : http://avalon/CoreUI/Specs%20%20Eventing%20and%20Commanding/CommandLibrarySpec.mht
//
//
// History:
// 03/31/2004 : chandras - Created
// 04/28/2004 : Added Accelerator table loading from Resource
// 02/02/2005 : Created ApplicationCommands class from CommandLibrary class.
//
//---------------------------------------------------------------------------
using System;
using System.Windows;
using System.Windows.Input;
using System.Collections;
using System.ComponentModel;
using System.Security;
using System.Security.Permissions;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
using MS.Internal; // CommandHelper
namespace System.Windows.Input
{
///
/// ApplicationCommands - Set of Standard Commands
///
public static class ApplicationCommands
{
//-----------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// CutCommand - action to cut selection
///
public static RoutedUICommand Cut
{
get { return _EnsureCommand(CommandId.Cut); }
}
///
/// CopyCommand
///
public static RoutedUICommand Copy
{
get { return _EnsureCommand(CommandId.Copy); }
}
///
/// PasteCommand
///
public static RoutedUICommand Paste
{
get { return _EnsureCommand(CommandId.Paste); }
}
///
/// DeleteCommand
///
public static RoutedUICommand Delete
{
get { return _EnsureCommand(CommandId.Delete); }
}
///
/// UndoCommand
///
public static RoutedUICommand Undo
{
get { return _EnsureCommand(CommandId.Undo); }
}
///
/// RedoCommand
///
public static RoutedUICommand Redo
{
get { return _EnsureCommand(CommandId.Redo); }
}
///
/// SelectAllCommand
///
public static RoutedUICommand Find
{
get { return _EnsureCommand(CommandId.Find); }
}
///
/// ReplaceCommand
///
public static RoutedUICommand Replace
{
get { return _EnsureCommand(CommandId.Replace); }
}
///
/// SelectAllCommand
///
public static RoutedUICommand SelectAll
{
get { return _EnsureCommand(CommandId.SelectAll); }
}
///
/// HelpCommand
///
public static RoutedUICommand Help
{
get { return _EnsureCommand(CommandId.Help); }
}
///
/// NewCommand
///
public static RoutedUICommand New
{
get { return _EnsureCommand(CommandId.New); }
}
///
/// OpenCommand
///
public static RoutedUICommand Open
{
get { return _EnsureCommand(CommandId.Open); }
}
///
/// CloseCommand
///
public static RoutedUICommand Close
{
get { return _EnsureCommand(CommandId.Close); }
}
///
/// SaveCommand
///
public static RoutedUICommand Save
{
get { return _EnsureCommand(CommandId.Save); }
}
///
/// SaveAsCommand
///
public static RoutedUICommand SaveAs
{
get { return _EnsureCommand(CommandId.SaveAs); }
}
///
/// PrintCommand
///
public static RoutedUICommand Print
{
get { return _EnsureCommand(CommandId.Print); }
}
///
/// CancelPrintCommand
///
public static RoutedUICommand CancelPrint
{
get { return _EnsureCommand(CommandId.CancelPrint); }
}
///
/// PrintPreviewCommand
///
public static RoutedUICommand PrintPreview
{
get { return _EnsureCommand(CommandId.PrintPreview); }
}
///
/// PropertiesCommand
///
public static RoutedUICommand Properties
{
get { return _EnsureCommand(CommandId.Properties); }
}
///
/// ContextMenuCommand
///
public static RoutedUICommand ContextMenu
{
get { return _EnsureCommand(CommandId.ContextMenu); }
}
///
/// StopCommand
///
public static RoutedUICommand Stop
{
get { return _EnsureCommand(CommandId.Stop); }
}
///
/// CorrectionListCommand
///
public static RoutedUICommand CorrectionList
{
get { return _EnsureCommand(CommandId.CorrectionList); }
}
///
/// NotACommand command.
///
///
/// This "command" is always ignored, without handling the input event
/// that caused it. This provides a way to turn off an input binding
/// built into an existing control.
///
public static RoutedUICommand NotACommand
{
get { return _EnsureCommand(CommandId.NotACommand); }
}
#endregion Public Methods
//------------------------------------------------------
//
// Private Methods
//
//-----------------------------------------------------
#region Private Methods
///
/// Critical - determines the permission to be applied for a command
/// TreatAsSafe - callers don't need to worry, but we need to review
/// any changes to this.
///
[SecurityCritical, SecurityTreatAsSafe]
private static PermissionSet GetRequiredPermissions(CommandId commandId)
{
PermissionSet permissions;
switch (commandId)
{
case CommandId.Paste:
permissions = new PermissionSet(PermissionState.None);
permissions.AddPermission(new UIPermission(UIPermissionClipboard.AllClipboard));
break;
default:
permissions = null;
break;
}
return permissions;
}
private static string GetPropertyName(CommandId commandId)
{
string propertyName = String.Empty;
switch (commandId)
{
case CommandId.Cut: propertyName = "Cut"; break;
case CommandId.Copy: propertyName = "Copy"; break;
case CommandId.Paste: propertyName = "Paste"; break;
case CommandId.Undo: propertyName = "Undo"; break;
case CommandId.Redo: propertyName = "Redo"; break;
case CommandId.Delete: propertyName = "Delete"; break;
case CommandId.Find: propertyName = "Find"; break;
case CommandId.Replace: propertyName = "Replace"; break;
case CommandId.Help: propertyName = "Help"; break;
case CommandId.New: propertyName = "New"; break;
case CommandId.Open: propertyName = "Open"; break;
case CommandId.Save: propertyName = "Save"; break;
case CommandId.SaveAs: propertyName = "SaveAs"; break;
case CommandId.Close: propertyName = "Close"; break;
case CommandId.Print: propertyName = "Print"; break;
case CommandId.CancelPrint: propertyName = "CancelPrint"; break;
case CommandId.PrintPreview: propertyName = "PrintPreview"; break;
case CommandId.Properties: propertyName = "Properties"; break;
case CommandId.ContextMenu: propertyName = "ContextMenu"; break;
case CommandId.CorrectionList: propertyName = "CorrectionList"; break;
case CommandId.SelectAll: propertyName = "SelectAll"; break;
case CommandId.Stop: propertyName = "Stop"; break;
case CommandId.NotACommand: propertyName = "NotACommand"; break;
}
return propertyName;
}
internal static string GetUIText(byte commandId)
{
string uiText = String.Empty;
switch ((CommandId)commandId)
{
case CommandId.Cut: uiText = SR.Get(SRID.CutText); break;
case CommandId.Copy: uiText = SR.Get(SRID.CopyText);break;
case CommandId.Paste: uiText = SR.Get(SRID.PasteText);break;
case CommandId.Undo: uiText = SR.Get(SRID.UndoText);break;
case CommandId.Redo: uiText = SR.Get(SRID.RedoText); break;
case CommandId.Delete: uiText = SR.Get(SRID.DeleteText); break;
case CommandId.Find: uiText = SR.Get(SRID.FindText); break;
case CommandId.Replace: uiText = SR.Get(SRID.ReplaceText); break;
case CommandId.SelectAll: uiText = SR.Get(SRID.SelectAllText); break;
case CommandId.Help: uiText = SR.Get(SRID.HelpText); break;
case CommandId.New: uiText = SR.Get(SRID.NewText); break;
case CommandId.Open: uiText = SR.Get(SRID.OpenText); break;
case CommandId.Save: uiText = SR.Get(SRID.SaveText); break;
case CommandId.SaveAs: uiText = SR.Get(SRID.SaveAsText); break;
case CommandId.Print: uiText = SR.Get(SRID.PrintText); break;
case CommandId.CancelPrint: uiText = SR.Get(SRID.CancelPrintText); break;
case CommandId.PrintPreview: uiText = SR.Get(SRID.PrintPreviewText); break;
case CommandId.Close: uiText = SR.Get(SRID.CloseText); break;
case CommandId.ContextMenu: uiText = SR.Get(SRID.ContextMenuText); break;
case CommandId.CorrectionList: uiText = SR.Get(SRID.CorrectionListText); break;
case CommandId.Properties: uiText = SR.Get(SRID.PropertiesText); break;
case CommandId.Stop: uiText = SR.Get(SRID.StopText); break;
case CommandId.NotACommand: uiText = SR.Get(SRID.NotACommandText); break;
}
return uiText;
}
internal static InputGestureCollection LoadDefaultGestureFromResource(byte commandId)
{
InputGestureCollection gestures = new InputGestureCollection();
//Standard Commands
switch ((CommandId)commandId)
{
case CommandId.Cut:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.CutKey),
SR.Get(SRID.CutKeyDisplayString),
gestures);
break;
case CommandId.Copy:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.CopyKey),
SR.Get(SRID.CopyKeyDisplayString),
gestures);
break;
case CommandId.Paste:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PasteKey),
SR.Get(SRID.PasteKeyDisplayString),
gestures);
break;
case CommandId.Undo:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.UndoKey),
SR.Get(SRID.UndoKeyDisplayString),
gestures);
break;
case CommandId.Redo:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.RedoKey),
SR.Get(SRID.RedoKeyDisplayString),
gestures);
break;
case CommandId.Delete:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.DeleteKey),
SR.Get(SRID.DeleteKeyDisplayString),
gestures);
break;
case CommandId.Find:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.FindKey),
SR.Get(SRID.FindKeyDisplayString),
gestures);
break;
case CommandId.Replace:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.ReplaceKey),
SR.Get(SRID.ReplaceKeyDisplayString),
gestures);
break;
case CommandId.SelectAll:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.SelectAllKey),
SR.Get(SRID.SelectAllKeyDisplayString),
gestures);
break;
case CommandId.Help:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.HelpKey),
SR.Get(SRID.HelpKeyDisplayString),
gestures);
break;
case CommandId.New:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.NewKey),
SR.Get(SRID.NewKeyDisplayString),
gestures);
break;
case CommandId.Open:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.OpenKey),
SR.Get(SRID.OpenKeyDisplayString),
gestures);
break;
case CommandId.Save:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.SaveKey),
SR.Get(SRID.SaveKeyDisplayString),
gestures);
break;
case CommandId.SaveAs:
break; // there are no default bindings for CommandId.SaveAs
case CommandId.Print:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PrintKey),
SR.Get(SRID.PrintKeyDisplayString),
gestures);
break;
case CommandId.CancelPrint:
break; // there are no default bindings for CommandId.CancelPrint
case CommandId.PrintPreview:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PrintPreviewKey),
SR.Get(SRID.PrintPreviewKeyDisplayString),
gestures);
break;
case CommandId.Close:
break; // there are no default bindings for CommandId.Close
case CommandId.ContextMenu:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.ContextMenuKey),
SR.Get(SRID.ContextMenuKeyDisplayString),
gestures);
break;
case CommandId.CorrectionList:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.CorrectionListKey),
SR.Get(SRID.CorrectionListKeyDisplayString),
gestures);
break;
case CommandId.Properties:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PropertiesKey),
SR.Get(SRID.PropertiesKeyDisplayString),
gestures);
break;
case CommandId.Stop:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.StopKey),
SR.Get(SRID.StopKeyDisplayString),
gestures);
break;
case CommandId.NotACommand:
break; // there are no default bindings for CommandId.NotACommand
}
return gestures;
}
private static RoutedUICommand _EnsureCommand(CommandId idCommand)
{
if (idCommand >= 0 && idCommand < CommandId.Last)
{
lock (_internalCommands.SyncRoot)
{
if (_internalCommands[(int)idCommand] == null)
{
RoutedUICommand newCommand = CommandLibraryHelper.CreateUICommand(
GetPropertyName(idCommand),
typeof(ApplicationCommands), (byte)idCommand,
GetRequiredPermissions(idCommand));
_internalCommands[(int)idCommand] = newCommand;
}
}
return _internalCommands[(int)idCommand];
}
return null;
}
#endregion Private Methods
//------------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
#region Private Fields
// these constants will go away in future, its just to index into the right one.
private enum CommandId : byte
{
Cut=0,
Copy=1,
Paste=2,
Undo=3,
Redo=4,
Delete=5,
Find=6,
Replace=7,
Help=8,
SelectAll=9,
New=10,
Open=11,
Save=12,
SaveAs=13,
Print = 14,
CancelPrint = 15,
PrintPreview = 16,
Close = 17,
Properties=18,
ContextMenu=19,
CorrectionList=20,
Stop=21,
NotACommand=22,
// Last
Last=23
}
private static RoutedUICommand[] _internalCommands = new RoutedUICommand[(int)CommandId.Last];
#endregion Private Fields
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: The ApplicationCommands class defines a standard set of commands that are required in most applications.
// The goal of these commands is to unify input, programming model and UI for the most common actions in
// Windows applications thus providing a standard interface for such common commands.
//
// See spec at : http://avalon/CoreUI/Specs%20%20Eventing%20and%20Commanding/CommandLibrarySpec.mht
//
//
// History:
// 03/31/2004 : chandras - Created
// 04/28/2004 : Added Accelerator table loading from Resource
// 02/02/2005 : Created ApplicationCommands class from CommandLibrary class.
//
//---------------------------------------------------------------------------
using System;
using System.Windows;
using System.Windows.Input;
using System.Collections;
using System.ComponentModel;
using System.Security;
using System.Security.Permissions;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
using MS.Internal; // CommandHelper
namespace System.Windows.Input
{
///
/// ApplicationCommands - Set of Standard Commands
///
public static class ApplicationCommands
{
//-----------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// CutCommand - action to cut selection
///
public static RoutedUICommand Cut
{
get { return _EnsureCommand(CommandId.Cut); }
}
///
/// CopyCommand
///
public static RoutedUICommand Copy
{
get { return _EnsureCommand(CommandId.Copy); }
}
///
/// PasteCommand
///
public static RoutedUICommand Paste
{
get { return _EnsureCommand(CommandId.Paste); }
}
///
/// DeleteCommand
///
public static RoutedUICommand Delete
{
get { return _EnsureCommand(CommandId.Delete); }
}
///
/// UndoCommand
///
public static RoutedUICommand Undo
{
get { return _EnsureCommand(CommandId.Undo); }
}
///
/// RedoCommand
///
public static RoutedUICommand Redo
{
get { return _EnsureCommand(CommandId.Redo); }
}
///
/// SelectAllCommand
///
public static RoutedUICommand Find
{
get { return _EnsureCommand(CommandId.Find); }
}
///
/// ReplaceCommand
///
public static RoutedUICommand Replace
{
get { return _EnsureCommand(CommandId.Replace); }
}
///
/// SelectAllCommand
///
public static RoutedUICommand SelectAll
{
get { return _EnsureCommand(CommandId.SelectAll); }
}
///
/// HelpCommand
///
public static RoutedUICommand Help
{
get { return _EnsureCommand(CommandId.Help); }
}
///
/// NewCommand
///
public static RoutedUICommand New
{
get { return _EnsureCommand(CommandId.New); }
}
///
/// OpenCommand
///
public static RoutedUICommand Open
{
get { return _EnsureCommand(CommandId.Open); }
}
///
/// CloseCommand
///
public static RoutedUICommand Close
{
get { return _EnsureCommand(CommandId.Close); }
}
///
/// SaveCommand
///
public static RoutedUICommand Save
{
get { return _EnsureCommand(CommandId.Save); }
}
///
/// SaveAsCommand
///
public static RoutedUICommand SaveAs
{
get { return _EnsureCommand(CommandId.SaveAs); }
}
///
/// PrintCommand
///
public static RoutedUICommand Print
{
get { return _EnsureCommand(CommandId.Print); }
}
///
/// CancelPrintCommand
///
public static RoutedUICommand CancelPrint
{
get { return _EnsureCommand(CommandId.CancelPrint); }
}
///
/// PrintPreviewCommand
///
public static RoutedUICommand PrintPreview
{
get { return _EnsureCommand(CommandId.PrintPreview); }
}
///
/// PropertiesCommand
///
public static RoutedUICommand Properties
{
get { return _EnsureCommand(CommandId.Properties); }
}
///
/// ContextMenuCommand
///
public static RoutedUICommand ContextMenu
{
get { return _EnsureCommand(CommandId.ContextMenu); }
}
///
/// StopCommand
///
public static RoutedUICommand Stop
{
get { return _EnsureCommand(CommandId.Stop); }
}
///
/// CorrectionListCommand
///
public static RoutedUICommand CorrectionList
{
get { return _EnsureCommand(CommandId.CorrectionList); }
}
///
/// NotACommand command.
///
///
/// This "command" is always ignored, without handling the input event
/// that caused it. This provides a way to turn off an input binding
/// built into an existing control.
///
public static RoutedUICommand NotACommand
{
get { return _EnsureCommand(CommandId.NotACommand); }
}
#endregion Public Methods
//------------------------------------------------------
//
// Private Methods
//
//-----------------------------------------------------
#region Private Methods
///
/// Critical - determines the permission to be applied for a command
/// TreatAsSafe - callers don't need to worry, but we need to review
/// any changes to this.
///
[SecurityCritical, SecurityTreatAsSafe]
private static PermissionSet GetRequiredPermissions(CommandId commandId)
{
PermissionSet permissions;
switch (commandId)
{
case CommandId.Paste:
permissions = new PermissionSet(PermissionState.None);
permissions.AddPermission(new UIPermission(UIPermissionClipboard.AllClipboard));
break;
default:
permissions = null;
break;
}
return permissions;
}
private static string GetPropertyName(CommandId commandId)
{
string propertyName = String.Empty;
switch (commandId)
{
case CommandId.Cut: propertyName = "Cut"; break;
case CommandId.Copy: propertyName = "Copy"; break;
case CommandId.Paste: propertyName = "Paste"; break;
case CommandId.Undo: propertyName = "Undo"; break;
case CommandId.Redo: propertyName = "Redo"; break;
case CommandId.Delete: propertyName = "Delete"; break;
case CommandId.Find: propertyName = "Find"; break;
case CommandId.Replace: propertyName = "Replace"; break;
case CommandId.Help: propertyName = "Help"; break;
case CommandId.New: propertyName = "New"; break;
case CommandId.Open: propertyName = "Open"; break;
case CommandId.Save: propertyName = "Save"; break;
case CommandId.SaveAs: propertyName = "SaveAs"; break;
case CommandId.Close: propertyName = "Close"; break;
case CommandId.Print: propertyName = "Print"; break;
case CommandId.CancelPrint: propertyName = "CancelPrint"; break;
case CommandId.PrintPreview: propertyName = "PrintPreview"; break;
case CommandId.Properties: propertyName = "Properties"; break;
case CommandId.ContextMenu: propertyName = "ContextMenu"; break;
case CommandId.CorrectionList: propertyName = "CorrectionList"; break;
case CommandId.SelectAll: propertyName = "SelectAll"; break;
case CommandId.Stop: propertyName = "Stop"; break;
case CommandId.NotACommand: propertyName = "NotACommand"; break;
}
return propertyName;
}
internal static string GetUIText(byte commandId)
{
string uiText = String.Empty;
switch ((CommandId)commandId)
{
case CommandId.Cut: uiText = SR.Get(SRID.CutText); break;
case CommandId.Copy: uiText = SR.Get(SRID.CopyText);break;
case CommandId.Paste: uiText = SR.Get(SRID.PasteText);break;
case CommandId.Undo: uiText = SR.Get(SRID.UndoText);break;
case CommandId.Redo: uiText = SR.Get(SRID.RedoText); break;
case CommandId.Delete: uiText = SR.Get(SRID.DeleteText); break;
case CommandId.Find: uiText = SR.Get(SRID.FindText); break;
case CommandId.Replace: uiText = SR.Get(SRID.ReplaceText); break;
case CommandId.SelectAll: uiText = SR.Get(SRID.SelectAllText); break;
case CommandId.Help: uiText = SR.Get(SRID.HelpText); break;
case CommandId.New: uiText = SR.Get(SRID.NewText); break;
case CommandId.Open: uiText = SR.Get(SRID.OpenText); break;
case CommandId.Save: uiText = SR.Get(SRID.SaveText); break;
case CommandId.SaveAs: uiText = SR.Get(SRID.SaveAsText); break;
case CommandId.Print: uiText = SR.Get(SRID.PrintText); break;
case CommandId.CancelPrint: uiText = SR.Get(SRID.CancelPrintText); break;
case CommandId.PrintPreview: uiText = SR.Get(SRID.PrintPreviewText); break;
case CommandId.Close: uiText = SR.Get(SRID.CloseText); break;
case CommandId.ContextMenu: uiText = SR.Get(SRID.ContextMenuText); break;
case CommandId.CorrectionList: uiText = SR.Get(SRID.CorrectionListText); break;
case CommandId.Properties: uiText = SR.Get(SRID.PropertiesText); break;
case CommandId.Stop: uiText = SR.Get(SRID.StopText); break;
case CommandId.NotACommand: uiText = SR.Get(SRID.NotACommandText); break;
}
return uiText;
}
internal static InputGestureCollection LoadDefaultGestureFromResource(byte commandId)
{
InputGestureCollection gestures = new InputGestureCollection();
//Standard Commands
switch ((CommandId)commandId)
{
case CommandId.Cut:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.CutKey),
SR.Get(SRID.CutKeyDisplayString),
gestures);
break;
case CommandId.Copy:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.CopyKey),
SR.Get(SRID.CopyKeyDisplayString),
gestures);
break;
case CommandId.Paste:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PasteKey),
SR.Get(SRID.PasteKeyDisplayString),
gestures);
break;
case CommandId.Undo:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.UndoKey),
SR.Get(SRID.UndoKeyDisplayString),
gestures);
break;
case CommandId.Redo:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.RedoKey),
SR.Get(SRID.RedoKeyDisplayString),
gestures);
break;
case CommandId.Delete:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.DeleteKey),
SR.Get(SRID.DeleteKeyDisplayString),
gestures);
break;
case CommandId.Find:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.FindKey),
SR.Get(SRID.FindKeyDisplayString),
gestures);
break;
case CommandId.Replace:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.ReplaceKey),
SR.Get(SRID.ReplaceKeyDisplayString),
gestures);
break;
case CommandId.SelectAll:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.SelectAllKey),
SR.Get(SRID.SelectAllKeyDisplayString),
gestures);
break;
case CommandId.Help:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.HelpKey),
SR.Get(SRID.HelpKeyDisplayString),
gestures);
break;
case CommandId.New:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.NewKey),
SR.Get(SRID.NewKeyDisplayString),
gestures);
break;
case CommandId.Open:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.OpenKey),
SR.Get(SRID.OpenKeyDisplayString),
gestures);
break;
case CommandId.Save:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.SaveKey),
SR.Get(SRID.SaveKeyDisplayString),
gestures);
break;
case CommandId.SaveAs:
break; // there are no default bindings for CommandId.SaveAs
case CommandId.Print:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PrintKey),
SR.Get(SRID.PrintKeyDisplayString),
gestures);
break;
case CommandId.CancelPrint:
break; // there are no default bindings for CommandId.CancelPrint
case CommandId.PrintPreview:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PrintPreviewKey),
SR.Get(SRID.PrintPreviewKeyDisplayString),
gestures);
break;
case CommandId.Close:
break; // there are no default bindings for CommandId.Close
case CommandId.ContextMenu:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.ContextMenuKey),
SR.Get(SRID.ContextMenuKeyDisplayString),
gestures);
break;
case CommandId.CorrectionList:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.CorrectionListKey),
SR.Get(SRID.CorrectionListKeyDisplayString),
gestures);
break;
case CommandId.Properties:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.PropertiesKey),
SR.Get(SRID.PropertiesKeyDisplayString),
gestures);
break;
case CommandId.Stop:
KeyGesture.AddGesturesFromResourceStrings(
SR.Get(SRID.StopKey),
SR.Get(SRID.StopKeyDisplayString),
gestures);
break;
case CommandId.NotACommand:
break; // there are no default bindings for CommandId.NotACommand
}
return gestures;
}
private static RoutedUICommand _EnsureCommand(CommandId idCommand)
{
if (idCommand >= 0 && idCommand < CommandId.Last)
{
lock (_internalCommands.SyncRoot)
{
if (_internalCommands[(int)idCommand] == null)
{
RoutedUICommand newCommand = CommandLibraryHelper.CreateUICommand(
GetPropertyName(idCommand),
typeof(ApplicationCommands), (byte)idCommand,
GetRequiredPermissions(idCommand));
_internalCommands[(int)idCommand] = newCommand;
}
}
return _internalCommands[(int)idCommand];
}
return null;
}
#endregion Private Methods
//------------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
#region Private Fields
// these constants will go away in future, its just to index into the right one.
private enum CommandId : byte
{
Cut=0,
Copy=1,
Paste=2,
Undo=3,
Redo=4,
Delete=5,
Find=6,
Replace=7,
Help=8,
SelectAll=9,
New=10,
Open=11,
Save=12,
SaveAs=13,
Print = 14,
CancelPrint = 15,
PrintPreview = 16,
Close = 17,
Properties=18,
ContextMenu=19,
CorrectionList=20,
Stop=21,
NotACommand=22,
// Last
Last=23
}
private static RoutedUICommand[] _internalCommands = new RoutedUICommand[(int)CommandId.Last];
#endregion Private Fields
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DropDownList.cs
- PenCursorManager.cs
- ExpandSegment.cs
- OdbcUtils.cs
- XmlEventCache.cs
- TextServicesHost.cs
- WindowsMenu.cs
- TrustLevelCollection.cs
- XmlNavigatorStack.cs
- PanelDesigner.cs
- SqlVersion.cs
- SymmetricKeyWrap.cs
- TransformCryptoHandle.cs
- assemblycache.cs
- XmlIlGenerator.cs
- ObjectCloneHelper.cs
- QueryExecutionOption.cs
- BezierSegment.cs
- CodeSnippetCompileUnit.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- TextChangedEventArgs.cs
- Logging.cs
- NumberEdit.cs
- SkinBuilder.cs
- LogicalMethodInfo.cs
- entitydatasourceentitysetnameconverter.cs
- ResourceExpressionBuilder.cs
- ToolStripSplitButton.cs
- OutputScopeManager.cs
- SettingsAttributeDictionary.cs
- XmlAttributes.cs
- TypeConverterHelper.cs
- UriWriter.cs
- TrackingMemoryStreamFactory.cs
- TextBoxDesigner.cs
- PagerSettings.cs
- XmlCountingReader.cs
- HyperLinkDesigner.cs
- SizeConverter.cs
- SystemColorTracker.cs
- DES.cs
- SamlAdvice.cs
- UnsafeNativeMethods.cs
- SqlNode.cs
- _NTAuthentication.cs
- NameValueConfigurationElement.cs
- ContextMenuStrip.cs
- Msec.cs
- DbProviderConfigurationHandler.cs
- WebPartDescriptionCollection.cs
- FileDataSourceCache.cs
- OverrideMode.cs
- HttpCachePolicyBase.cs
- DriveNotFoundException.cs
- RectIndependentAnimationStorage.cs
- MappedMetaModel.cs
- CodeMethodInvokeExpression.cs
- XmlStringTable.cs
- TemplatedWizardStep.cs
- PersonalizationStateInfoCollection.cs
- StringStorage.cs
- DbConnectionPool.cs
- _HeaderInfo.cs
- ErrorStyle.cs
- TextBox.cs
- AlphabeticalEnumConverter.cs
- IdentityHolder.cs
- ProviderSettings.cs
- Int32CollectionConverter.cs
- UIElement.cs
- ProviderIncompatibleException.cs
- Rotation3D.cs
- cookie.cs
- ArrayTypeMismatchException.cs
- TransformedBitmap.cs
- CollectionType.cs
- DateTimePicker.cs
- DragEventArgs.cs
- SendSecurityHeaderElementContainer.cs
- TransformProviderWrapper.cs
- DataStreamFromComStream.cs
- ToolStripContentPanelRenderEventArgs.cs
- ZipIOBlockManager.cs
- WebPartsPersonalization.cs
- SimpleMailWebEventProvider.cs
- RankException.cs
- CatalogPartChrome.cs
- XamlDesignerSerializationManager.cs
- FormDesigner.cs
- XPathChildIterator.cs
- WmfPlaceableFileHeader.cs
- ValidatorCompatibilityHelper.cs
- PropertyChangingEventArgs.cs
- TextClipboardData.cs
- Transform3DCollection.cs
- DataQuery.cs
- HierarchicalDataBoundControlAdapter.cs
- OdbcReferenceCollection.cs
- XmlElementCollection.cs
- ObjectCloneHelper.cs