Как получить доступ к выбору целевого списка xmlui из JSFL во Flash?
Вопрос
У меня есть простой пользовательский интерфейс xml:
<dialog title="Select Symbol" buttons="accept, cancel">
<vbox>
<targetlist id="target_symbol" height="300" width="400" required="true" class="movie clip" />
</vbox>
</dialog>
Как я могу получить результат после того, как пользователь нажал "Принять "?
У меня есть что-то базовое, например:
var doc = fl.getDocumentDOM();
var symbolDialog = doc.xmlPanel(fl.configURI + 'Javascript/GetSymbolDialog.xml');
if(symbolDialog.dismiss == 'accept')
fl.trace(symbolDialog.target_symbol);
И все, что я получаю, не определено.
symbolDialog.target_symbol.value не существует.
Я просмотрел главу о XMLUI в Расширение Flash MX 2004 забронировать, но все свойства, перечисленные там в разделе targetlist, являются:идентификатор, высота, ширина, класс и обязательный.
Как мне получить выбор из целевого списка ?
Решение
На всякий случай, если люди из далекого будущего 2010 года захотят перенестись во времени в 2004 год и поиграть с этим, вот ответ, через Тодд Ярд, один из авторов Расширение Flash MX 2004 :
похоже, вам нужно определить свойство с тем же идентификатором, что и у вашего targetlist, тогда вы сможете получить к нему доступ через xmlui.get(propertyName).
таким образом, пересмотренный xml-код должен выглядеть следующим образом:
<dialog title="Select Symbol" buttons="accept, cancel">
<properties>
<property id="target_symbol" default="_parent" />
</properties>
<vbox>
<targetlist id="target_symbol" height="300" width="400" required="true" class="movie clip" />
</vbox>
</dialog>
И это все.
fl.trace(symbolDialog.target_symbol);
просто сработает.