Objekt Actions je zßkladnφm prvkem pro definovßnφ operacφ (akcφ) v editoru. Tyto akce se pak vklßdajφ do menu, ze kterΘho jsou vyvolßvßny.
property UpdatedAction: string - Při volßnφ funkce definovanΘ v parametru OnUpdateFunctionName metody NewAction je v tΘto vlastnosti umφstěn nßzev akce, pro kterou se danß funkce volß. Tohoto jmΘna lze vyu₧φt v metodě SetActionEnabled.
procedure NewAction (Name: string; Caption: string; Hint: string; ShortCut: string; PictureIndex: Integer; OnExecuteScript: string; OnExecuteFunctionName: string; OnUpdateScript: string; OnUpdateFunctionName: string) - Metoda vytvořφ novou akci, kterß je určena jmΘnem (parametr Name). Ka₧dß akce mß text, kter² se bude objevovat např. v menu (parametr Caption), nßpovědnou popisku (parametr Hint - zatφm nenφ v editoru vyu₧ito), klßvesovou zkratku (parametr ShortCut, mů₧e b²t prßzdn² řetězec. Pokud se řetězec Üpatně napφÜe, nebude brßn v potaz, pozor takΘ na kolize stejn²ch klßvesov²ch zkratek, program je nekontroluje. Ctrl+A je stejnΘ jako Ctrl+a.) a index obrßzku (parametr PictureIndex - zatφm se nepou₧φvß, zadßvejte v₧dy -1). Pokud je akce zvolena (např. z menu), je volßna odpovφdajφcφ funkce. Ta se určuje nßzvem skriptu, ve kterΘm je umφstěna (parametr OnExecuteScript) a jmΘnem (parametr OnExecuteFunctionName). Pokud mß b²t funkce povolena pouze za někter²ch okolnostφ (např. je-li otevřen nějak² soubor), pak program automaticky volß ve skriptu zadanΘm v parametru OnUpdateScript funkci zadanou v parametru OnUpdateFunctionName.
procedure SetActionEnabled (Name: string; Enabled: Boolean) - Povolφ nebo zakß₧e akci zadanou v parametru Name. Je vyu₧φvßno hlavně ve funkcφch pro aktualizaci akcφ.
Chtějme rozÜφřit rkEdit o mo₧nost zobrazit na ₧ßdost u₧ivatele počet řßdků v editovanΘm souboru. Přφkaz se bude vyvolßvat z menu Scripts, kde bude polo₧ka Show lines count. Tato akce bude povolenß pouze tehdy, pokud bude otevřen nějak² soubor.
Nejprve v inicializačnφm skriptu do funkce Main() vlo₧me nßsledujφcφ řßdky:
//proměnnß, kde bude napsßno, kde jsou moje skripty
var
ScriptsFile = System.ScriptPath+"myscripts.js";
//vytvořφme polo₧ku menu v hlavnφm menu na pozici 9
Menu.InsertParentItem ("miScripts", "", "Scripts", 9);
//vytvořφm akci
Actions.NewAction ("actLinesCount",
"Show lines count", "", "", -1,
ScriptsFile, "LinesCount",
ScriptsFile, "IsSomeFileOpened");
//a vlo₧φm ji do menu
Menu.AddActionItem ("miLinesCount", "miScripts", "actLinesCount");
Nynφ v adresßři se skripty budu mφt nßsledujφcφ dvě funkce:
//tato řφkß, kdy bude polo₧ka v menu povolenß
function IsSomeFileOpened()
{
Actions.SetActionEnabled (Actions.UpdatedAction,
Editor.IsSomeFileOpened());
} //IsSomeFileOpened
//vypφÜe počet řßdků aktußlnφho souboru
function LinesCount()
{
Dialogs.ShowMessage (Editor.ActiveEdit.Lines.Count);
}//LinesCount