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.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.Shell.11.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 tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Serve como uma função de hash para um tipo específico. (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.
Observação |
---|
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.
Observação |
---|
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