RobTrew
2011-05-04, 09:06 PM
Not sure if others have found a solution to these two problems in scripting the creation of a line connecting two shapes.
source and destination can apparently not be specified in the make new line property list.
code-created links between horizontally aligned objects are not horizontal
http://farm6.static.flickr.com/5263/5689489914_a4bf034a31.jpg
property pstrArrow : "FilledArrow"
property plstRed : {65535, 0, 0}
tell application id "OGfl"
tell (make new document)
tell front canvas
-- DISABLE AUTOMATIC LAYOUT
set automatic layout of its layout info to false
-- GET RELATIVE UNITS
set {rX, rY} to page size
set rSize to rX / 10
set rDown to rY / 3
set shapeA to make new shape with properties {name:"Circle", origin:{rDown, rDown}, size:{rSize, rSize}}
set shapeB to make new shape with properties {name:"Circle", origin:{rDown + (rSize * 1.3), rDown}, size:{rSize, rSize}}
-- PROBLEM 1: The following line of code fails ("AppleEvent handler failed")
-- set oLine to make new line with properties {source:shapeA, destination:shapeB, stroke color:plstRed, head type:pstrArrow}
-- (source and destination can apparently not be specified in the initial property list, before the line has been created,
-- Instead we have to create the line and THEN specify source and destination):
set oLine to make new line with properties {stroke color:plstRed, head type:pstrArrow}
tell oLine
set source to shapeA
set destination to shapeB
end tell
-- PROBLEM 2: The above creates a line which does NOT take the shortest (i.e. horizontal) path between the two shapes
end tell
end tell
end tell
source and destination can apparently not be specified in the make new line property list.
code-created links between horizontally aligned objects are not horizontal
http://farm6.static.flickr.com/5263/5689489914_a4bf034a31.jpg
property pstrArrow : "FilledArrow"
property plstRed : {65535, 0, 0}
tell application id "OGfl"
tell (make new document)
tell front canvas
-- DISABLE AUTOMATIC LAYOUT
set automatic layout of its layout info to false
-- GET RELATIVE UNITS
set {rX, rY} to page size
set rSize to rX / 10
set rDown to rY / 3
set shapeA to make new shape with properties {name:"Circle", origin:{rDown, rDown}, size:{rSize, rSize}}
set shapeB to make new shape with properties {name:"Circle", origin:{rDown + (rSize * 1.3), rDown}, size:{rSize, rSize}}
-- PROBLEM 1: The following line of code fails ("AppleEvent handler failed")
-- set oLine to make new line with properties {source:shapeA, destination:shapeB, stroke color:plstRed, head type:pstrArrow}
-- (source and destination can apparently not be specified in the initial property list, before the line has been created,
-- Instead we have to create the line and THEN specify source and destination):
set oLine to make new line with properties {stroke color:plstRed, head type:pstrArrow}
tell oLine
set source to shapeA
set destination to shapeB
end tell
-- PROBLEM 2: The above creates a line which does NOT take the shortest (i.e. horizontal) path between the two shapes
end tell
end tell
end tell