Rahmeninhalt drehen

Von admin. | 19 Juni, 2018 - 12:41
Kurzbeschreibung:

RagTime dreht einen Rahmen ("Container") und nicht dessen Inhalt. Falls man aber ein Formular mit definierten Rahmen verwendet, muss die Rahmenposition wieder angepasst werden. Dieses Skript übernimmt dies automatisch.

Ausführliche Beschreibung:

Wenn man ein Formular mit verschiedenen Rahmen benutzt und z.B. ein Bild in einen Rahmen einfügt, muss es evtl. rotiert werden.
Da RagTime aber immer den Rahmen bzw. Container und nicht dessen Inhalt rotiert, wird dadurch evtl. das fertige Layout zerstört und der Rahmen muss manuell wieder angepasst werden.

Das ist zeitaufwendig und kann durch ein kleines AppleScript automatisiert werden.
Dieses Skript arbeitet nur mit Rahmen, die mit 0°, 90°, 180° oder 270° Rotation vorliegen. Es dreht den Rahmen im Uhrzeigersinn um 90° und legt ihn wieder auf die ursprüngliche Position.

Um diese Funktion in allen RagTime-Dokumenten zu benutzen, kann man es unter "Skripte verwalten…" einfach in die "RagTime-Hilfsmittel" ziehen. Bei mir habe ich das Skript auf die F1-Taste gelegt, um die Funktion effektiv zu nutzen.

Hier das Skript:

try
	set itemRot to rotation of selection
on error
	tell application "System Events" to display dialog "Select a container and call this script" buttons {"Ok"} default button 1
	return
end try
set w to width of selection
set h to height of selection
if itemRot = 0 then -- 0°
	set L to left of selection
	set T to top of selection
	set cX to L + w / 2
	set cY to T + h / 2
else if itemRot = 0.25 then -- 90°
	set L to right of selection
	set T to top of selection
	set cX to L - w / 2
	set cY to T + h / 2
else if itemRot = 0.5 then -- 180°
	set L to right of selection
	set T to bottom of selection
	set cX to L - w / 2
	set cY to T - h / 2
else if itemRot = -0.25 then -- 270°
	set L to left of selection
	set T to bottom of selection
	set cX to L + w / 2
	set cY to T - h / 2
else
	tell application "System Events" to display dialog "Unsupported rotation. Need 0, 90, 180 or 270°" buttons {"Ok"} default button 1
	return
end if

set rotation of selection to itemRot + 0.25
set top of selection to cY - w / 2
set left of selection to cX - h / 2
set width of selection to h
set height of selection to w

Ein Beispieldokument samt Skript ist zum Download unten verfügbar.

Edit:
Falls eine Drehung gegen den Uhrzeigersinn erfolgen soll, kann man in dem Skript in der Zeile "set rotation of selection to itemRot + 0.25" einfach 0.25 abziehen statt zu addieren.

Thomas Eckert
RagTime Support

Anhang Größe
Rahmen drehen.rtd 180.71 KB