Descubra todas as opções de utilização de Acções Padrão

Tradução automática de Deepl

Alguns programadores acreditam que as acções automáticas são para principiantes. No entanto, podem ter perdido muito do potencial que acrescentámos nos últimos anos. Acções padrão, tais como First Record ou color?value=red, pode ser atribuído a um botão na interface do utilizador ou por programação. A acção pode ser atribuída a um item de menu, menu de contexto, ou invocada com um comando. Um benefício é que 4D também gere automaticamente o item de menu ou a desactivação do botão sempre que a acção não for aplicável (por exemplo, como se não houvesse um registo seguinte).

E a partir de 4D v16 R3, a lista de acções padrão está a crescer: mais de 100 novas acções padrão foram adicionadas para 4D Write Pro e Styled Text, permitindo construir, por exemplo, uma barra de ferramentas sem escrever uma linha de código!

Como resumo, é possível utilizar acções padrão de 3 maneiras diferentes:

  • Associar uma acção padrão a um objecto: na fase de concepção (utilizando lista de propriedades) ou por programação
  • Associar uma acção padrão a um item do menu: na fase de concepção (utilizando a caixa de ferramentas) ou por programação
  • Utilize o novo INVOKE ACTION e Get action info comandos

Associar uma acção padrão a um objecto

Na fase de concepção

Com a lista de propriedades pode associar uma acção padrão a um objecto de formulário activo. Neste exemplo, a acção padrão Eliminar Registo está associada a um botão.

Delete Record action in Property List

Para mais detalhes, por favor consultar este artigo na documentação.

Por programação

Durante o tempo de execução da aplicação, é possível associar dinamicamente para o processo actual uma acção padrão a um objecto através da programação. Deste modo, sobregrava a acção padrão definida pela lista de propriedades.

Por exemplo, pretende associar o Delete Record acção padrão para um botão “btnDelete”:

OBJECT SET ACTION(*; "btnDelete";ak delete record)ou se utilizar o valor em vez de constante:

OBJECT SET ACTION(*; "btnDelete"; "deleteRecord")

E se utilizar o valor em vez de constante, também pode passar um parâmetro com a acção. Neste exemplo, aplica-se a cor magenta a um texto seleccionado.

OBJECT SET ACTION(*; "btnDelete"; "color?value=magenta")

Para mais pormenores, consultar a documentação para estes comandos:

Associar uma acção padrão a um item do menu

Na fase de concepção

É possível atribuir uma acção padrão a um item de menu utilizando o editor de menu. Por exemplo, para adicionar um item de menu para abrir o Centro de Manutenção e Segurança 4D, basta seleccionar a acção msc acção como acção padrão associada no menu pop-up:

blank

Quando executa a sua candidatura, o menu é apresentado:

blank

Pode criar um submenu com alguma acção padrão. Por exemplo, para adicionar um submenu para aplicar o estilo da fonte (como Bold, Italic…), basta seleccionar a fontStyle acção como acção padrão associada no menu pop-up:

Create a font style menu with standard automatic action

Quando executa a sua candidatura, o menu é apresentado:

Menu fontStyle with standard automatic action

Para mais detalhes, por favor consulte este artigo na documentação.

Por programação

Pode também passar uma acção padrão para o comando SET MENU ITEM PROPERTY . Desde 4D v16 R3, se passar a constante ak standard action title um nome de título ao comando APPEND MENU ITEM; 4D usa o nome da acção localizada.

Por exemplo, num menu pop-up para adicionar um item de menu para ir para o primeiro, último ou próximo registo, escreve o seguinte código:

  • No método Forma:

Case of
: (Form event=On Load) := ( ; ) ( ;-1; ; ) ( ; ) ( ;-1; ; ) ( ; ) ( ;-1; ; ) : ( = ) ( )
// create menu
menuCreate menu

//insert first record menu item
APPEND MENU ITEMmenuak standard action title
SET MENU ITEM PROPERTYmenuAssociated standard actionak first record
//insert last record menu item
APPEND MENU ITEMmenuak standard action title
SET MENU ITEM PROPERTYmenuAssociated standard actionak last record
//insert next record menu item APPEND MENU ITEMmenuak standard action title
SET MENU ITEM PROPERTYmenuAssociated standard actionak next record
Form eventOn Unload
// release menu
RELEASE MENUmenu
End case

  • No método de botão que exibe o menu pop up:

$val:=Dynamic pop up menu(menu)

Depois, quando executa a sua candidatura em língua diferente, o menu apresenta-se:

blank

Para mais detalhes, consulte a documentação sobre estes comandos:

INVOKE ACTION comando

O INVOKE ACTION adicionado em 4D v16 R3, desencadeia a acção padrão definida pelo parâmetro de acção, opcionalmente no comando target contexto. Para saber se a acção padrão é aplicável e válida no contexto actual, pode utilizar a nova Get action info comando.

A sintaxe é:

INVOKE ACTION ( action {; target} )

Por exemplo, para alterar a abertura do MSC, pode escrever:

C_OBJECT($actionInfo)
// Check if this standard action is available and valid in this current context
$actionInfo :=Get action info(ak paste;ak current form)
If (OB Get($actionInfo; "activado"))
// This standard action is enabled
INVOKE ACTION (ak paste;ak current form)
Else
ALERT ("Esta acção é impossível. A área de transferência está vazia")
End if

Para mais detalhes, por favor leia a documentação sobre estes comandos:

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.