CommandSet, classe
Représente un sous-ensemble des commandes disponibles dans les menus d'un langage spécifique au domaine. Remplace les méthodes dans YourLanguageCommandSet pour modifier la façon dont ces commandes sont traitées.
Cette API n'est pas conforme CLS.
Hiérarchie d'héritage
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
Microsoft.VisualStudio.Modeling.Shell.CommandSet
Espace de noms : Microsoft.VisualStudio.Modeling.Shell
Assembly : Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)
Syntaxe
'Déclaration
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary
Le type CommandSet expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
CommandSet | Initialise une nouvelle instance de la classe CommandSet. |
Début
Propriétés
Nom | Description | |
---|---|---|
CurrentDocData | (Hérité de CommandSetLibrary.) | |
CurrentDocumentSelection | (Hérité de CommandSetLibrary.) | |
CurrentDocView | Obtient la vue de la fenêtre de document active. | |
CurrentModelingDocView | (Hérité de CommandSetLibrary.) | |
CurrentSelection | (Hérité de CommandSetLibrary.) | |
MenuService | (Hérité de CommandSetLibrary.) | |
MonitorSelection | (Hérité de CommandSetLibrary.) | |
ServiceProvider | (Hérité de CommandSetLibrary.) | |
SingleDocumentSelection | (Hérité de CommandSetLibrary.) | |
SingleSelection | (Hérité de CommandSetLibrary.) |
Début
Méthodes
Nom | Description | |
---|---|---|
CanDeleteSelectedItems | Retourne la valeur true si les éléments sélectionnés peuvent être supprimés. (Hérité de CommandSetLibrary.) | |
CreateObjRef | Essentiel pour la sécurité. Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject.) | |
DeleteSelectedItems | Supprime les éléments sélectionnés. (Hérité de CommandSetLibrary.) | |
Equals | Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
GetHashCode | Sert de fonction de hachage par défaut. (Hérité de Object.) | |
GetLifetimeService | Essentiel pour la sécurité. Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.) | |
GetMenuCommands | Affiche les commandes du menu contextuel. (Substitue CommandSetLibrary.GetMenuCommands().) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
Initialize | Initialise le jeu de commandes.Appelle GetMenuCommands et met en cache le résultat. (Hérité de CommandSetLibrary.) | |
InitializeLifetimeService | Essentiel pour la sécurité. Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.) | |
IsAnyDocumentSelectionCompartment | True si l'un des éléments de la liste de sélection est un compartiment. (Hérité de CommandSetLibrary.) | |
IsAnyDocumentSelectionMoveableHostShape | True si l'un des éléments de la liste de sélection est une forme hôte déplaçable qui ne peut pas être supprimée. (Hérité de CommandSetLibrary.) | |
IsAnyDocumentSelectionUndeletable | True si des éléments de forme présents dans la liste de sélection ne peuvent pas être supprimés. (Hérité de CommandSetLibrary.) | |
IsCurrentDiagramEmpty | True si le diagramme n'a aucun enfant. (Hérité de CommandSetLibrary.) | |
IsDiagramSelected | True si le diagramme est sélectionné. (Hérité de CommandSetLibrary.) | |
IsExpandableShape | Vérifie si un utilisateur peut développer la forme pour indiquer les propriétés de domaine. | |
IsSingleDocumentSelection | True si seul un seul élément est sélectionné dans le document actif. (Hérité de CommandSetLibrary.) | |
IsSingleSelection | True si seul un élément est sélectionné dans la fenêtre de document active ou la fenêtre Outil. (Hérité de CommandSetLibrary.) | |
MemberwiseClone() | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
MemberwiseClone(Boolean) | Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject.) | |
ProcessOnMenuDeleteCommand | Appelée lorsque l'utilisateur clique sur la commande Supprimer ou appuie sur la touche SUPPR.Supprime un élément.Remplace cette méthode pour modifier ce comportement. | |
ProcessOnMenuEditCompartmentItemCommand | Appelée lorsque l'utilisateur clique sur la commande de menu Edition d'un élément dans une forme de compartiment.Entre l'état de modification de texte.Remplace cette méthode pour modifier ce comportement. | |
ProcessOnMenuExpandCollapseCommand | Appelée lorsque l'utilisateur développe ou réduit une liste de propriétés qui est assignée à une forme. | |
ProcessOnMenuPageSetupCommand | Ouvre la boîte de dialogue Mise en page.Remplace cette méthode pour modifier ce comportement. | |
ProcessOnMenuPrintCommand | Ouvre la boîte de dialogue Imprimer.Remplace cette méthode pour modifier ce comportement. | |
ProcessOnMenuPrintPreviewCommand | Ouvre la fenêtre Aperçu avant impression.Remplace cette méthode pour modifier ce comportement. | |
ProcessOnMenuRerouteLineCommand | Restaure la position par défaut d'un connecteur entre deux formes.Remplace cette méthode pour modifier ce comportement. | |
ProcessOnMenuResetDecoratorLocationCommand | Remplacez cette méthode pour traiter la commande de menu Reset Decorator Location. | |
ProcessOnMenuResetDecoratorSizeCommand | Remplacez cette méthode pour traiter la commande de menu Reset Decorator Size. | |
ProcessOnMenuSelectAllCommand | Appelée lorsque l'utilisateur clique sur la commande Sélectionner tout du menu Edition ou appuie sur CTRL-A.Sélectionne toutes les formes dans un diagramme.Remplace la méthode pour modifier ce comportement. | |
ProcessOnStatusDeleteCommand | Détermine si la commande de suppression apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme. | |
ProcessOnStatusEditCompartmentItemCommand | Détermine si la commande d'édition apparaît dans le menu contextuel. | |
ProcessOnStatusExpandCollapseCommand | Détermine si la commande de développement ou de réduction apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme. | |
ProcessOnStatusPageSetupCommand | Détermine si la commande Mise en page apparaît dans le menu Fichier.Appelée lorsque l'utilisateur clique sur le menu Fichier pendant que le diagramme est actif. | |
ProcessOnStatusPrintCommand | Détermine si la commande Imprimer apparaît dans le menu Fichier.Appelée lorsque l'utilisateur clique sur le menu Fichier pendant que le diagramme est actif. | |
ProcessOnStatusPrintPreviewCommand | Détermine si la commande Aperçu avant impression apparaît dans le menu.Appelée lorsque l'utilisateur clique sur le menu Fichier pendant que le diagramme est actif. | |
ProcessOnStatusRerouteLineCommand | Détermine si la commande Rediriger apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme. | |
ProcessOnStatusResetDecoratorLocationCommand | Détermine si la commande relative aux emplacements de l'élément décoratif apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme. | |
ProcessOnStatusResetDecoratorSizeCommand | Détermine si la commande de redéfinition de la taille de l'élément décoratif apparaît dans le menu.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme. | |
ProcessOnStatusSelectAllCommand | Détermine si la commande Sélectionner tout apparaît dans le menu.Appelée lorsque l'utilisateur clique sur le menu Edition pendant que le diagramme est actif. | |
ToString | Retourne une chaîne qui représente l'objet actif. (Hérité de Object.) |
Début
Notes
Vous pouvez modifier la manière dont votre DSL répond à certaines commandes de menu. Les commandes que vous pouvez modifier incluent des commandes du menu contextuel, et certaines commandes sur le fichier et les menu Edition.
Dans votre projet de DslPackage, vous trouverez un fichier généré CommandSet.cs appelée, qui contient une déclaration partielle d'une classe appelée <YourLanguageName>CommandSet. Pour modifier le comportement des commandes de menu standard, ajoutez un autre fichier avec une définition partielle de la même classe.
Dans cette classe, vous pouvez substituer les méthodes définies dans la classe de base.
Notes
Vérifiez que l'espace de noms dans votre fichier est le même que l'espace de noms dans le CommandSet.cs généré.Dans le nouveau fichier, lorsque vous tapez « substitution » dans la déclaration de classe, vous devez afficher la liste des méthodes que vous pouvez remplacer.
Chaque commande possède une méthode de ProcessOnStatus… et une méthode de ProcessOnMenu… CATCH. La méthode de ProcessOnStatus… détermine si la commande apparaît dans le menu contextuel. Affectez à la propriété Visible du paramètre de commande pour déterminer si la commande est visible, et pour définir la propriété Enabled pour déterminer si l'élément de menu est activée et grisée.
La méthode de ProcessOnMenu… effectue la commande lorsque l'utilisateur clique sur l'élément de menu.
Notes
Vous pouvez définir des commandes supplémentaires du fichier de Commands.vsct.
Pour plus d'informations, consultez Comment : ajouter une commande au menu contextuel.
Exemples
Ce fichier est ajouté au projet de DslPackage. Il empêché les utilisateurs de DSL de supprimer plusieurs éléments à la fois.
// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
internal partial class Language1CommandSet // Same class as the generated class.
{
/// <summary>
/// Called when user right-clicks on the diagram or clicks the Edit menu.
/// </summary>
/// <param name="command"></param>
protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
{
if (this.CurrentSelection.Count > 1)
{
// If user has selected more than one item, Delete is greyed out.
command.Enabled = false;
}
else
{
// Otherwise, default behavior.
base.ProcessOnStatusDeleteCommand(command);
}
}
/// <summary>
/// Called when user presses Delete key or clicks the Delete command on a menu.
/// </summary>
protected override void ProcessOnMenuDeleteCommand()
{
// Allow users to delete only one thing at a time.
if (this.CurrentSelection.Count <= 1)
{
base.ProcessOnMenuDeleteCommand();
}
}
}
}
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.VisualStudio.Modeling.Shell, espace de noms