Classe CommandSet
Representa um subconjunto dos comandos que estão disponíveis nos menus de um idioma específico do domínio. Substitua os métodos em YourLanguageCommandSet para modificar a forma como esses comandos são processados.
Esta API não compatível com CLS.
Hierarquia de herança
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
Microsoft.VisualStudio.Modeling.Shell.CommandSet
Namespace: Microsoft.VisualStudio.Modeling.Shell
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (em Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)
Sintaxe
'Declaração
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary
O tipo CommandSet expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
CommandSet | Inicializa uma nova instância da classe CommandSet. |
Superior
Propriedades
Nome | Descrição | |
---|---|---|
CurrentDocData | (Herdado de CommandSetLibrary.) | |
CurrentDocumentSelection | (Herdado de CommandSetLibrary.) | |
CurrentDocView | Obtém o modo de exibição da janela do documento ativo. | |
CurrentModelingDocView | (Herdado de CommandSetLibrary.) | |
CurrentSelection | (Herdado de CommandSetLibrary.) | |
MenuService | (Herdado de CommandSetLibrary.) | |
MonitorSelection | (Herdado de CommandSetLibrary.) | |
ServiceProvider | (Herdado de CommandSetLibrary.) | |
SingleDocumentSelection | (Herdado de CommandSetLibrary.) | |
SingleSelection | (Herdado de CommandSetLibrary.) |
Superior
Métodos
Nome | Descrição | |
---|---|---|
CanDeleteSelectedItems | Retorna true se os itens selecionados podem ser excluídos. (Herdado de CommandSetLibrary.) | |
CreateObjRef | Segurança crítica. Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject.) | |
DeleteSelectedItems | Exclua os itens selecionados. (Herdado de CommandSetLibrary.) | |
Equals | Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.) | |
Finalize | Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que seja recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Serve como a função de hash padrão. (Herdado de Object.) | |
GetLifetimeService | Segurança crítica. Recupera o objeto de serviço Vida útil atual que controla a diretiva vida útil para esta instância. (Herdado de MarshalByRefObject.) | |
GetMenuCommands | Exibe os comandos no menu de atalho. (Substitui CommandSetLibrary.GetMenuCommands().) | |
GetType | Obtém Type da instância atual. (Herdado de Object.) | |
Initialize | Inicialize o conjunto de comandos.Chama o GetMenuCommands e armazena o resultado. (Herdado de CommandSetLibrary.) | |
InitializeLifetimeService | Segurança crítica. Obtém um objeto de serviço de tempo de vida para controlar a diretiva vida útil para esta instância. (Herdado de MarshalByRefObject.) | |
IsAnyDocumentSelectionCompartment | True se qualquer dos itens na seleção lista é um compartimento. (Herdado de CommandSetLibrary.) | |
IsAnyDocumentSelectionMoveableHostShape | True se qualquer um dos itens na lista de seleção é uma forma de host moveable, que não pode ser excluída. (Herdado de CommandSetLibrary.) | |
IsAnyDocumentSelectionUndeletable | True se qualquer da forma itens na lista de seleção não podem ser excluídos. (Herdado de CommandSetLibrary.) | |
IsCurrentDiagramEmpty | True se o diagrama não tem filhos. (Herdado de CommandSetLibrary.) | |
IsDiagramSelected | True se o diagrama for selecionado. (Herdado de CommandSetLibrary.) | |
IsExpandableShape | Verifica se um usuário pode expandir a forma para revelar as propriedades do domínio. | |
IsSingleDocumentSelection | True se houver apenas um item selecionado no documento ativo. (Herdado de CommandSetLibrary.) | |
IsSingleSelection | True se houver apenas um item selecionado na janela do documento ativo ou janela de ferramenta. (Herdado de CommandSetLibrary.) | |
MemberwiseClone() | Cria uma cópia superficial de Objectatual. (Herdado de Object.) | |
MemberwiseClone(Boolean) | Cria uma cópia superficial do atual MarshalByRefObject objeto. (Herdado de MarshalByRefObject.) | |
ProcessOnMenuDeleteCommand | Chamado quando o usuário clica no comando Delete ou pressionar a tecla Delete.Exclui um item.Substitua esse método para alterar esse comportamento. | |
ProcessOnMenuEditCompartmentItemCommand | Chamado quando o usuário clica no comando de menu de edição em um item em uma forma de compartimento.Entra no estado de edição de texto.Substitua esse método para alterar esse comportamento. | |
ProcessOnMenuExpandCollapseCommand | Chamado quando o usuário expande ou recolhe uma lista de propriedades que é atribuída a uma forma. | |
ProcessOnMenuPageSetupCommand | Abre a caixa de diálogo Configurar página.Substitua esse método para alterar esse comportamento. | |
ProcessOnMenuPrintCommand | Abre a caixa de diálogo Imprimir.Substitua esse método para alterar esse comportamento. | |
ProcessOnMenuPrintPreviewCommand | Abre a janela de visualização de impressão.Substitua esse método para alterar esse comportamento. | |
ProcessOnMenuRerouteLineCommand | Restaura a posição padrão de um conector entre duas formas.Substitua esse método para alterar esse comportamento. | |
ProcessOnMenuResetDecoratorLocationCommand | Substitua esse método para processar o comando de menu local de decorador redefinir. | |
ProcessOnMenuResetDecoratorSizeCommand | Substitua esse método para processar o comando de menu de redefinir o tamanho de decorador. | |
ProcessOnMenuSelectAllCommand | Chamado quando o usuário clica no comando Selecionar tudo no menu Editar ou pressiona ctrl-a.Seleciona todas as formas em um diagrama.Substitua o método para alterar esse comportamento. | |
ProcessOnStatusDeleteCommand | Determina se o comando Delete aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama. | |
ProcessOnStatusEditCompartmentItemCommand | Determina se o comando Editar aparece no menu de contexto. | |
ProcessOnStatusExpandCollapseCommand | Determina se o comando Expandir ou recolher aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama. | |
ProcessOnStatusPageSetupCommand | Determina se o comando Configurar página aparece no menu arquivo.Chamado quando o usuário clica no menu Arquivo, enquanto o diagrama está ativo. | |
ProcessOnStatusPrintCommand | Determina se o comando Imprimir aparece no menu arquivo.Chamado quando o usuário clica no menu Arquivo, enquanto o diagrama está ativo. | |
ProcessOnStatusPrintPreviewCommand | Determina se o comando Visualizar impressão aparece no menu.Chamado quando o usuário clica no menu Arquivo, enquanto o diagrama está ativo. | |
ProcessOnStatusRerouteLineCommand | Determina se o comando redireccionar aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama. | |
ProcessOnStatusResetDecoratorLocationCommand | Determina se o comando de localização de decorador restante aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama. | |
ProcessOnStatusResetDecoratorSizeCommand | Determina se o comando Redefinir o tamanho de decorador aparece no menu.Chamado quando o usuário clica com o botão direito sobre o diagrama. | |
ProcessOnStatusSelectAllCommand | Determina se o comando Selecionar tudo aparece no menu.Chamado quando o usuário clica no menu Editar, enquanto o diagrama está ativo. | |
ToString | Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.) |
Superior
Comentários
Você pode modificar a forma como o seu DSL responde a alguns comandos de menu. Os comandos que você pode modificar incluem os comandos no menu de atalho e alguns comandos nos menus arquivo e editar.
Em seu projeto de DslPackage, você encontrará um arquivo gerado chamado CommandSet.cs, que contém uma declaração parcial de uma classe chamada <YourLanguageName> CommandSet. Para modificar o comportamento dos comandos de menu padrão, adicione outro arquivo com uma definição parcial da mesma classe.
Nesta classe, você pode substituir os métodos definidos na classe base.
Dica
Verifique se o namespace no seu novo arquivo é o mesmo que o namespace no CommandSet.cs gerado.Em seu novo arquivo, quando você digita "substituir" dentro da declaração de classe, você deverá ver uma lista dos métodos que podem ser substituídos.
Cada comando tem um ProcessOnStatus... método e um ProcessOnMenu... Método. O ProcessOnStatus... método determina se o comando aparece no menu de atalho. Definir a propriedade Visible do parâmetro de comando para determinar se o comando está visível e defina a propriedade Enabled para determinar se o item de menu é ativado ou cinza.
O ProcessOnMenu... método executa o comando quando o usuário clica no item de menu.
Dica
Você pode definir os comandos adicionais no arquivo Commands.vsct.
Para obter mais informações, consulte Como adicionar um comando ao menu de atalho.
Exemplos
Este arquivo é adicionado ao projeto DslPackage. Ela impede que os usuários de DSL excluir mais de um elemento por vez.
// 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();
}
}
}
}
Acesso thread-safe
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Consulte também
Referência
Namespace Microsoft.VisualStudio.Modeling.Shell