60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
{{header}}
|
|
{{include field.fragment}}
|
|
{{object 16 0}} <<
|
|
{{streamlen}}
|
|
>>
|
|
stream
|
|
// In order to get icons from a document, you have to first add icons
|
|
// to the document, and the only way to initially get an icon object,
|
|
// it would seem, is from a button in a field. Then it can be added
|
|
// any number of times, which does nothing but accumulate the list of
|
|
// names of the added icons. Whee.
|
|
try {
|
|
var doc = this;
|
|
app.alert("doc is " + doc);
|
|
var icon = doc.getField("MyField.MyPushButton").buttonGetIcon();
|
|
app.alert("icon is " + icon);
|
|
doc.addIcon("icon1", icon);
|
|
doc.addIcon("icon2", icon);
|
|
app.alert("icon list is now " + doc.icons);
|
|
var icon1 = doc.icons[0];
|
|
var icon2 = doc.icons[1];
|
|
app.alert("they are named " + icon1.name + " and " + icon2.name);
|
|
var icon1_again = doc.getIcon("icon1");
|
|
var icon2_again = doc.getIcon("icon2");
|
|
app.alert("they are also named " + icon1_again.name +
|
|
" and " + icon2_again.name);
|
|
app.alert("but they are made anew each time since " +
|
|
(icon1 == icon1_again) + " is returned from comparison");
|
|
app.alert("Prototype comparison is " + (icon1.__proto__ == icon1_again.__proto__));
|
|
|
|
// Icons are "dynamic" objects, so theoretically we can make them from
|
|
// the JS side as well, although they will not be bound on the fxjs side.
|
|
var dubious = new icon1.constructor();
|
|
app.alert("Made anew from JS side since comparison is " + (dubious == icon1));
|
|
app.alert("Prototype comparison is " + (dubious.__proto__ == icon1.__proto__));
|
|
|
|
// Can't retrieve the name because no fxjs binding present.
|
|
app.alert("Dubious name is " + dubious.name);
|
|
|
|
// No error setting the name because for an unbound object, control doesn't
|
|
// get far enough to reach the readonly check in the property handler.
|
|
dubious.name = "pebble";
|
|
|
|
// The previous was a silent no-op under the covers.
|
|
app.alert("name is unchanged from " + dubious.name);
|
|
} catch (e) {
|
|
app.alert("error: " + e);
|
|
}
|
|
try {
|
|
icon1.name = "chowder";
|
|
} catch (e) {
|
|
app.alert("As expected, trying to change the name gave: " + e);
|
|
}
|
|
endstream
|
|
endobj
|
|
{{xref}}
|
|
{{trailer}}
|
|
{{startxref}}
|
|
%%EOF
|