L'appel par le menu se fera dans l'événement choose menu item via une subroutine.
on choose menu item theObject -------------- Gére la barre des Menus --------------------
if name of theObject is "Ajouter une ligne" then routine_AddOneNote ()
end choose menu item ----------------------------------------------------
Elle récupére l'information de chaque champ de la fenêtre "Input", préparer une rangée à stocker, et stocke cette rangée dans la data source.
set leTitre to contents of text field "NomInput" of window "Input"
Notez l'adressage du champ qualifié par le nom de la fenêtre qui le contient.
Pour le prix, une coercition en number est appliqué, pour vous empêcher de taper des caractères alphabétiques, ce qui générerait une erreure au stockage dans le tableau. Je n'ai pas inclus un "Formatter" pour ce champ, pour éviter de voir le signe "€" dans le champ entré. Taper "12" en entrée vous aurez "12 € " dans le tableau.
set lePrix to contents of text field "PrixInput" of window "Input" as number
Pour la date, celle-ci étant formatée en date dans le tableau et dans la fenêtre "Input", pas de coercition. Taper "8/12/2007" vous aurez "8 décembre 2007" dans le tableau.
set laDate to contents of text field "DateInput" of window "Input"
Col5 et Col6 inutilisées sont à blanc.
Le stockage se fait par l'appel d'une subroutine avec tous les champs cités dans le bon ordre de la déclaration de la data source.
stockerUneLigne (leNom , laDescription , laDate , lePrix , laCol5 , LaCol6 )
Celle-ci comprend une commande "make new data row" d'initialisation d'une nouvelle rangée à la fin "end of the" des rangées déjà existante. Rappel, les données se sont pas stockées triées, c'est la "View" qui gère le tri.
set nouvelRange to make new data row at the end of the data rows of notesDataSource
Puis, le transfert des données, et une commande "update" exécutant la mise à jour de la data source.
on choose menu item theObject -------------- Gére la barre des Menus --------------------
if name of theObject is "Ajouter une ligne" then routine_AddOneNote ()
end choose menu item ----------------------------------------------------