Objevte všechny možnosti použití standardních akcí

Automaticky přeloženo z Deepl

Někteří vývojáři se domnívají, že automatické akce jsou pro začátečníky. Možná jim však uniklo mnoho potenciálu, který jsme v posledních letech přidali. Standardní akce, jako např. First Record nebo color?value=red, lze přiřadit tlačítku v uživatelském rozhraní nebo naprogramovat. Akci lze přiřadit položce nabídky, kontextové nabídce nebo ji vyvolat příkazem. Výhodou je, že 4D také automaticky zpracovává deaktivaci položky nabídky nebo tlačítka, kdykoli se akce nepoužije (například jako v případě, že neexistuje žádný další záznam).

Od verze 4D v16 R3 se seznam standardních akcí rozrůstá: pro 4D Write Pro a Styled Text bylo přidáno více než 100 nových standardních akcí, které umožňují například vytvořit panel nástrojů bez nutnosti psát řádek kódu!

Standardní akce můžete používat třemi různými způsoby:

  • Přiřadit standardní akci k objektu: ve fázi návrhu (pomocí seznamu vlastností) nebo naprogramováním.
  • Přiřadit standardní akci k položce nabídky: ve fázi návrhu (pomocí panelu nástrojů) nebo programováním.
  • Použijte nové příkazy INVOKE ACTION a Get action info příkazy

Přiřadit standardní akci k objektu

Ve fázi návrhu

Pomocí seznamu vlastností můžete přiřadit standardní akci k aktivnímu objektu formuláře. V tomto příkladu je standardní akce Odstranit záznam přiřazena tlačítku.

Delete Record action in Property List

Další podrobnosti naleznete v tomto článku v dokumentaci.

Programováním

Během běhu aplikace můžete pro aktuální proces dynamicky přiřadit standardní akci k objektu naprogramováním. Tím přepíšete standardní akci definovanou seznamem vlastností.

Chcete například přiřadit Delete Record standardní akci s tlačítkem „btnDelete“:

OBJECT SET ACTION(*; "btnDelete";ak delete record)nebo pokud použijete hodnotu místo konstanty:

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

A pokud místo konstanty použijete hodnotu, můžete akci předat také parametr. V tomto příkladu použijete na vybraný text purpurovou barvu.

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

Další podrobnosti naleznete v dokumentaci k těmto příkazům:

Přiřazení standardní akce k položce nabídky

Ve fázi návrhu

Standardní akci můžete přiřadit položce nabídky pomocí editoru nabídek. Chcete-li například přidat položku nabídky pro otevření Centra údržby a zabezpečení 4D, stačí vybrat položku msc akci jako přiřazenou standardní akci ve vyskakovacím menu:

blank

Při spuštění aplikace se zobrazí nabídka:

blank

Můžete vytvořit dílčí nabídku s nějakou standardní akcí. Chcete-li například přidat dílčí nabídku pro použití stylu písma (například Tučné, Kurzíva…), stačí vybrat položku fontStyle akci jako přidruženou standardní akci ve vyskakovací nabídce:

Create a font style menu with standard automatic action

Při spuštění aplikace se zobrazí nabídka:

Menu fontStyle with standard automatic action

Další podrobnosti naleznete v tomto článku dokumentace.

Při programování

Příkazu SET MENU ITEM PROPERTY můžete také předat standardní akci. Pokud od verze 4D v16 R3 předáte příkazu APPEND MENU ITEM místo názvu akce konstantu ak standard action title; 4D použije lokalizovaný název akce.

Chcete-li například ve vyskakovacím menu přidat položku nabídky pro přechod na první, poslední nebo další záznam, napíšete následující kód:

  • V metodě Form:

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

  • V metodě tlačítka, které zobrazí vyskakovací nabídku:

$val:=Dynamic pop up menu(menu)

Když pak spustíte aplikaci v jiném jazyce, nabídka se zobrazí:

blank

Další podrobnosti naleznete v dokumentaci k těmto příkazům:

INVOKE ACTION příkaz

. INVOKE ACTION příkaz přidaný v 4D v16 R3 spustí standardní akci definovanou parametrem akce, volitelně v položce target kontextu. Chcete-li zjistit, zda je standardní akce použitelná a platná v aktuálním kontextu, můžete použít nový příkaz Get action info příkaz.

Syntaxe je následující:

INVOKE ACTION ( action {; target} )

Chcete-li například změnit otevření MSC, můžete napsat:

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; "enabled"))
// This standard action is enabled
INVOKE ACTION (ak paste;ak current form)
Else
ALERT ("Tato akce není možná. Schránka je prázdná.")
End if

Podrobnější informace naleznete v dokumentaci k těmto příkazům:

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.