Director, een onmisbare applicatie
waarin Dick Tanis verder vertelt over deze toepassing

De vorige keer hebben we gehad hoe we Director moesten voorbereiden om menu's toe te voegen. Nu gaan we menu's maken die we via Director laten tonen.

We openen weer ons eigen gemaakte menu-bestand 'MijnMenu' via het hoofdmenu van Director. Als we het bestand bekijken dan zien we dat in de 1e regel eerst het bestand '!Core' wordt uitgevoerd. In dit bestand staan menu's, filters en variabelen die Director nodig heeft. Dit bestand kan je ook direct via het hoofdmenu openen. Wijzig dit bestand alleen als je zeker weet waar je mee bezig bent!

We gaan nu naar het einde van het bestand waar we de menu's gaan aanmaken. We tikken nu het in wat in de afbeelding wordt weergeven.

We hebben nu 3 menu's gemaakt. We zullen nu eens kijken wat al die 'algebra' die we hebben ingevoerd inhoudt. Zoals we zien begint elke menu met het commando Menu gevolgd met de titel van het menu en sluit het commando EndMenu het menu af. Menu-opties worden gemaakt met het commando Option. Dit commando moet vervolgens gevolgd worden met een tekst en/of een pad. Wanneer we een pad gebruiken dat moet de optie -path wel toegevoegd worden. Met deze optie komt er wel map-symbool in het menu te staan. Mochten we dat hinderlijk vinden dan kunnen we deze verwijderen door de optie -nosprite toe te voegen. Met de optie -sub kunnen we het menu koppelen aan een ander sub-menu.

Dit doen we door na de optie de naam van het sub-menu erachter te zetten. Het is ook mogelijk om direct een * neer te zetten als de naam van het sub-menu gelijk is aan de naam van de optie. Het is ook mogelijk om een sneltoets te gebruiken. We moeten dan de optie -key toevoegen met daarachter de toetscombinatie. Het optie-commando kan op de volgende regel gevolgd worden door het commando commando. Met dit commando kunnen we aangeven dat als erop dit menu-item geklikt wordt, er een *commando (zie de cursus RISC OS uitgediept van 1999 voor diverse commando's) uitgevoerd moet worden. Dit kan gebruikt worden om een applicatie te starten. een map op een bepaalde plek te openen of een variabele te zetten.

Het is niet nodig om paden van objecten in te tikken. U kunt het pad direct importeren door het symbool van het desbetreffende object in het venster van de tekstbewerker te slepen terwijl u SHIFT ingedrukt houdt.

We hebben nu de menu's aangemaakt maar we zijn nog niet klaar. Director weet namelijk nog niet dat ons menu aangeroepen moet worden wanneer we op het applicatie-symbool van Director klikken. We gaan nu naar het begin van ons menu-bestand en kijken naar de volgende regel:

DirectorIcon !Director "00:00" -left 
-priority &0E000000 -menu Director
-select Paths
-adjust Pinboard -time <37>24:%MI
-dragto
"Dynamic:Director:Menus.Files.MenuMenu"
-dragfrom
"*Command:Dir|<Director$CurrentDir>"

Dit commando zorgt ervoor dat het symbool van Director op de symbolenbalk verschijnt en geeft ook wat er gebeurt wanneer er op symbool met de diverse muisknoppen wordt geklikt. Voor ons is nu alleen de optie -select belangrijk. We veranderen nu het woord Paths in "Mijn menu". Director weet nu dat ons menu geopend moet worden wanneer er met KIES (linker muisknop) op het symbool wordt geklikt.

Misschien zult u nu wel zeggen: "Hé maar nu ben ik het Paden-menu van Director kwijt omdat ik nu een ander menu aanroep." Dit is niet het geval want we hebben in ons hoofdmenu 'MijnMenu' een optie 'Paden' gemaakt die weer het originele paden-menu opent.

We bewaren vervolgens ons menu-bestand en openen het hoofdmenu van Director. Vervolgens openen we het sub-menu 'Edit' en klikken we op de optie 'Reload'. We zien vervolgens een zandloper verschijnen die aangeeft dat ons menu-bestand geladen wordt. De menu's die we gemaakt hebben zijn nu geladen. Klikken we nu namelijk met KIES op het Director-symbool dan zullen we zien dat nu 'MijnMenu' verschijnt inplaats van het paden-menu.

De volgende keer gaan we de menu-commando's uitgebreid behandelen (syntax met voorbeelden).

Dick Tanis (77:8500/100.4 op Aconet)
mailto:dtanis@dune.demon.nl