レイヤー内のプロパティを一挙に設定をします。
locked と hidden が設定されていない場合は設定できますが、
逆はできません。
- illustrator CS4 for windows で動作を確認しています。
- ナビ子記法を使用しています。
- zzmix は、uupaa.js の uumix から借りています。
ソース
[illustrator.jsx]
var zz; zz || (function(win) { zz = zzmix(win, { illustrator: zzmix(zzillustrator, { layer: zzmix(zzillustratorlayer, { property: zzillustratorlayerproperty }) }) }); function zzillustrator() { } function zzillustratorlayer() { } function zzillustratorlayerproperty(layers, property, value) { var len = layers.length, layer, item, itemLen, i, j; for (i = 0; i < len; i++) { layer = layers[i]; if (layer.locked || !layer.visible) { continue; } itemLen = layer.pageItems.length; for (j = 0; j < itemLen; j++) { item = layer.pageItems[j]; if (!item.locked && !item.hidden) { item[property] = value; } } zzillustratorlayerproperty(layer.layers, property, value); } } /** * @auther uupaa http://code.google.com/p/uupaa-js/ * @license MIT License */ function zzmix(base, flavor, aroma, override) { var i; if (override || override === i) { for (i in flavor) { base[i] = flavor[i]; } } else { for (i in flavor) { i in base || (base[i] = flavor[i]); } } return aroma ? zzmix(base, aroma, 0, override) : base; } })(this);
使い方
[run.jsx]
// @include "illustrator.jsx" // 現在のアクティブなドキュメント内のレイヤーを選択します。 zz.illustrator.layer.property(app.activeDocument.layers, 'selected', true);
改善
- locked と hidden へのアクセス
- jquery の attr と access の関係なものを作る