[Xerte] Positioning icons relative to the previous icon.
Julian Tenney
Julian.Tenney at nottingham.ac.uk
Thu Nov 20 16:24:14 GMT 2008
You really want to do this automatically, but it's a bit of a pain. You
could do this:
Setup an array somewhere:
rowHeights = new Array();
and then as you loop through the decision icon, check to see whether the
height of the largest text icon is larger than the value currently
stored in the array for that row, and if so, switch the old value in the
aray for the new one. This is what I tried to do originally, but could't
see an elegant way of doing it.
You have the children array of the pages to work with, and the pages on
the decision icon, butmaybe it's just better to manually setup the
rowHeights array:
rowHeights = [20,30,40,10];
Depends how reusable you want it and how lazy you are I suppose. If
you've only a few tables to do, then jut do it manually. If there are
loads, then make it as easy as possible. It might be easier if each page
on the decision was a row, rather than a column?
From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Paul Swanson
Sent: Thursday, November 20, 2008 4:15 PM
To: Xerte discussion list
Subject: RE: [Xerte] Positioning icons relative to the previous icon.
Thanks Julian,
My row heights will vary depending on the length of content, but by
using separate variables for the rowHeight for each row, I'm sure I can
work something out.
Thanks for all your great help!
Paul
________________________________
From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Julian Tenney
Sent: Thursday, November 20, 2008 1:52 AM
To: Xerte discussion list
Subject: RE: [Xerte] Positioning icons relative to the previous
icon.
To do the table I would do this:
Add a script, call it setup:
colWidth = 120;
rowHeight = 40;
xStart = 20;
yStart = 20;
Add a decision icon, with a page for each column; each page has
the same number of textIcons in it;
Set the decision icon to erase = 0; eraseOnExit = 0; id = cols
For the text icons:
Set x to xStart + icon.parentNode.index() * colWidth
Set y to yStart + icon.index() * rowHeight
Set w to colWidth;
Then draw the table afterward the decision with this script:
colCount = cols.pages.length;
rowCount = cols.pages[0].children.length;
cols.lineStyle(1,0x000000,100);
cols.beginFill(0xFFFFFF,100);
for (i = 0; i <= colCount; i++){
cols.moveTo(xStart + i*colWidth, yStart);
cols.lineTo(xStart + i*colWidth, yStart + rowCount *
rowHeight);
}
for (i = 0; i <= rowCount; i++){
cols.moveTo(xStart, yStart + i * rowHeight);
cols.lineTo(xStart + colCount * colWidth, yStart + i *
rowHeight);
}
Then you can just play around with the code to do exactly what
you need.
J
From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Paul Swanson
Sent: Wednesday, November 19, 2008 11:38 PM
To: Xerte discussion list
Subject: RE: [Xerte] Positioning icons relative to the previous
icon.
I guess I still have to fiddle a bit with the + amount, because
I have to set the h parameter for the drawBorder to work, and it doesn't
precisely match the gutter height. But it's only ever a couple of pixels
off. It varies whenever the text wraps to multiple lines. Is there a way
to calculate the height based on the textSize for a particular font?
Still way easier than how I was doing it!
P
________________________________
From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Paul Swanson
Sent: Wednesday, November 19, 2008 3:02 PM
To: Xerte discussion list
Subject: RE: [Xerte] Positioning icons relative to the
previous icon.
Yes, _ytile + 11 worked (I have setGutter at 5, plus the
border line height to take into account). And
icon.previousSibling.clip()._y for the adjacent cells on the same row. I
guess my expression was just missing the clip() method. I had tried both
_y and y.
Patrick, I'm setting this on the property panel of the
text icon, not in a script. The script just draws the border and sets
the gutter.
Geez, don't you guys ever sleep? It must be 11pm in the
UK! Thanks for the speedy response!
Paul
________________________________
From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Julian Tenney
Sent: Wednesday, November 19, 2008 2:08 PM
To: Xerte discussion list
Subject: RE: [Xerte] Positioning icons relative
to the previous icon.
try _ytile
It gives you the value of
icon.previousSibling.clip()._y + icon.previousSibling.clip()._height. I
usually put _ytile + 10 in the y property.
________________________________
From: xerte-bounces at lists.nottingham.ac.uk on
behalf of Paul Swanson
Sent: Wed 19/11/2008 21:59
To: Xerte discussion list
Subject: [Xerte] Positioning icons relative to
the previous icon.
I'm attempting to build a table using multiple
text icons. I'm using individual text icons for each cell in combination
with drawBorder in a script icon. I've been manually computing the y
coordinate by adding the height of the previous icon to the y coordinate
of the previous icon. It's time consuming, and I'm thinking there must
be a better way. I've tried variations of icon.previousSibling._y, but
it seems to be returning 0 (or, more likely, undefined) because it
always ends up at y=0.
I've currently got
icon.previousSibling.attributes.y + icon.previousSibling.attributes.h as
the y property, but that makes the text disappear completely (perhaps
it's off the stage?). Do I just have the wrong property, or is this
because the properties of the previousSibling are unknown when the next
icon is encountered?
_____________________________
Paul Swanson
Instructional Designer
Harland Financial Solutions
800.274.7280 Ext. 2462
Paul.Swanson at harlandfs.com
_____________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.nottingham.ac.uk/pipermail/xerte/attachments/20081120/34335db6/attachment.html
More information about the Xerte
mailing list