Director, een onmisbare applicatie

door een onvermoeibare Dick Tanis

De vorige keer hebben we de syntax behandeld van het *commando Menu en een gedeelte van het *commando Option. We gaan nu verder met het Option-commando en we kijken naar de syntax van het *commando Command dat in combinatie met het Option-commando gebruikt kan worden.

We herhalen even een klein stukje van het Option-commando zodat we wat niet perse de vorige aflevering erbij moeten hebben. De syntax was:

Option <tekst> | -path <bestand|map>

[-tick] [-bg <kleur>] [-fg <kleur>]

[-sub [<menu>|*]] [-len <lengte>] [-dash]

[-grey] [-key <toets>] [-up]

[-nosprite] [-sprite <naam>]

En dit commando moet altijd gevolgd worden met een tekst en/of een pad.

-grey

Met deze optie kunnen we een menu-optie weggrijzen zodat deze niet meer beschikbaar is om er op te klikken. Dit commando is alleen handig bij het gebruik van dynamische menu's. Dit kunnen we gebruiken in de combinatie met de optie -path. We krijgen dan niet alleen de inhoud van de opgegeven map in het sub-menu maar ook de mappen die boven deze map zitten. Het voordeel van deze methode is dat als de map / het bestand niet bestaat, de mappen waarin het object stond wel weergegeven worden en we altijd nog bij deze mappen kunnen komen. We geven nu een voorbeeld waarbij deze optie erg van pas komt.

Option -nosprite -path Data2:Trackers.StMods0 -up

(op 1 regel)

We zien nu dat wanneer SparkFS geladen is, de inhoud van het archief StMods0 in het menu weergeven wordt met de bovenliggende mappen. Wanneer echter SparkFS niet geladen is dan is de inhoud van deze map niet beschikbaar en toont Director de inhoud van de map waarin het archief StMods0 staat. Zo kunnen we met de optie -up toch makkelijk bij het archief komen en als we willen open, hoeven we alleen maar te klikken op het archief en wordt deze weer via SparkFS geopend.

-nosprite

Met deze optie kunnen we ervoor zorgen dat er geen sprite (bv. het mapsymbool) meer weergegeven wordt als -path wordt gebruikt.

-sprite <naam>

Met deze optie kunnen we een sprite bij een menu-optie zetten. De sprite moet 18 × 18 pixels zijn (de grootte van kleine symbolen in een Filer-venster).

Als de sprite niet in het geheugen aanwezig is dan wordt de sprite van het onbekende bestandstype gebruikt (file_xxx).

-key <toets>

Met deze optie voegen we een toetscombinatie aan een menu-optie. Wanneer deze toetscombinatie wordt ingedrukt, wordt de optie uitgevoerd. Bijvoorbeeld:

Option "Publisher" -key ^I

Command Filer_Run Apps:DTP.!Publisher

Wanneer we nu CTRL + I tegelijkertijd indrukken wordt Impression Publisher gestart. De opties -tick en -len behandelen we in combinatie met het *commando Command.

Met het *commando Command kunnen we een commando aan een menu-optie hangen. Alleen menu-opties met tekst (dus niet met optie -path) kunnen commando's hebben. Het wel mogelijk om aan een menu-optie voor een sub-menu een commando te hangen. Wanneer er op het sub-menu optie geklikt wordt dan wordt het commando uitgevoerd in plaats dat het sub-menu geopend wordt.

De syntax van Command is:

Syntax: Command <*commando>

We moeten dit commando direct op de volgende regel plaatsen na het Option-commando. Bijvoorbeeld:

Option "Acorn" -sub*

Command Filer_OpenDir Apps:Acorn

We hebben nu een menu-optie 'Acorn' die verder leidt naar het sub-menu 'Acorn'. Echter wanneer we klikken op de menu-optie 'Acorn' dan wordt de map 'Apps:Acorn geopend'.

Het is mogelijk een 'writable' menu te maken met Director door de optie -len aan het Option-commando toe te voegen. Dit betekent dat we iets in het menu kunnen invullen. Wanneer we daarna op return drukken of op de menu-optie klikken dan wordt de inhoud van het ingevoerde veld in de systeem variabele <Menutext> gekopieerd. Deze variabele kunnen we verder gebruiken in combinatie met het *commando Command.

Een voorbeeld van een writable menu:

Menu "Fontbuffer"

Option " 512K"

Command ChangeDynamicArea -Fontsize 512K

Option "1024K"

Command ChangeDynamicArea -Fontsize 1024K (op 1 regel)

Option 2048 -len 5

Command ChangeDynamicArea -Fontsize <MenuText>K (op 1 regel)

EndMenu

Met dit menu kunnen we nu makkelijk de grootte van de fontbuffer instellen. We zien dat we bij de laatste optie zelf de grootte kunnen opgeven. Standaard staat deze op 2048 kB maar kan dus gewijzigd worden. De lengte van de invoerreeks is maximaal 5 tekens. Let op, er kunnen er maar 4 karakters worden ingevoerd omdat het returnkarakter ook meetelt! Wanneer we geen standaardwaarde in het invoerveld willen hebben dan we dat op de volgende manier doen:

Option "" -len 5

Command ChangeDynamicArea -Fontsize <MenuText>K (op 1 regel)

Er kunnen ook twee commando's aan een menu-optie gehangen worden. Welk commando er uitgevoerd wordt, hangt af van de menu-optie. Staat de menu-optie namelijk 'aan' of 'uit'. We maken dit duidelijk via het volgende voorbeeld:

Option "Fancy"

Command FontInstall Fonts:!Fancy.

Command FontRemove Fonts:!Fancy.

Wanneer we klikken op deze optie dan wordt het 1e commando uitgevoerd. Hierdoor wordt de fontmap 'Fancy' geïnstalleerd. We zien nu dat er een vinkje achter de menu-optie verschijnt. Dit geeft dus aan dat de fontmap geladen is. Wanneer we nog een keer op de menu-optie klikken dan wordt het 2e commando uitgevoerd en wordt de fontmap uit het geheugen verwijdert. Het vinkje verdwijnt natuurlijk ook. Willen we echter dat een menu-optie standaard 'aan' staat dan moeten we -tick toevoegen aan het Option-commando, zoals in het volgende voorbeeld:

Option "Schermbeveilig." -tick

Command Set BlackOut$Enabled Yes

Command Set BlackOut$Enabled No

Zo dit was het weer voor deze keer. De volgende keer behandelen we nog wat speciale gevallen van het Command-commando. Verder gaan we met Director een symbool op de symbolenbalk zetten met het commando DirectorIcon.

Dick Tanis (77:8500/100.4 op Aconet) E-mail: dtanis@mail.hzeeland.nl (di-vr) dtanis@dune.demon.nl (weekend)