Komponenten

Von Jürgen Schell. | 9 April, 2008 - 08:24
Beschreibung:

Ein RagTime-Dokument ist ähnlich wie ein Dateisystem aufgebaut. Sollen bestimmte Objekte in einem Dokument verändert werden, muss deshalb zunächst die Komponente angesprochen werden.
Komponenten sind:

layout
master layout -- Stammlayout
text flow -- eine Textkomponente
table -- ein Rechenblatt
drawing -- eine Zeichnung
picture -- ein Bild
button -- ein Knopf
graph -- eine Infografik

Layouts und Stammlayouts sind dabei wieder aus ihren Seiten aufgebaut - technisch entprechen sie tatsächlich weitgehend einer Zeichnungskomponente.

Typische Code-Fragmente sind deshalb:

tell application “RagTime 6.5�
     tell document 1
          tell text flow “Text 1�
               -- hier der Code
          end tell
     end tell
end tell

oder aber:

tell application “RagTime 6.5�
     tell document 1
          tell layout 1
               tell page 2
                    -- hier der Code
               end tell
          end tell
     end tell
end tell

Wiederum können die Komponenten über ihren Namen oder den Index angesprochen werden. Der Index hängt mit der Reihenfolge zusammen, in der die Komponenten dem Dokument zugefügt oder aus ihn gelöscht werden. Solange Sie während des Script-Ablaufs keine Komponente löschen, bleibt deshalb ein Index konstant.

Erzeugt werden Komponenten mit “make�. Die make-Anweisung benötigt in fast allen Fällen eine Positionsangabe der Form “at beginning� oder “at end�, selbst, wenn technisch nur eines von beiden möglich ist (zu Ausnahmen der Abschnitt über fehlende Zielangaben).

tell application “RagTime 6.5�
     tell document 1
          make new table at end
     end tell
end tell

erzeugt ein neues Rechenblatt im Dokument. Es ist in keinem Container installiert. Sie sehen es nur im Inventar aufgelistet und können es von dort mit einem Doppelklick in einem eigenen Fenster öffnen.

Seiten können eine flexible Referenz im make haben:

tell application "RagTime 6.5"
     tell layout 1 of document 1
          make new page at after page 1
     end tell
end tell

Analog: “at end�, “at before page 1�.