ColorPicker не редактируется в Form -> FormItem - PullRequest
2 голосов
/ 16 октября 2011

Обратите внимание на замечание, упомянутое WORKAROUND в конце этого вопроса.

На основе спецификации на основе словаря один из моих классов создает Formпрограммно.

Добавление TextInput или DatePicker к FormItems s работает, как и ожидалось.

К сожалению, следующий код просто создает цветной прямоугольник, а не фактический инструмент выбора:

ti = new ColorPicker();

ColorPicker( ti ).selectedColor = TAColor( _spec[ key ].value ).color;

и позже

formItem.addElement( ti );

Форма встроена в TitleWindow компонент, представленный с использованием

PopUpManager.addPopUp(...);

При добавлении в TitleWindow она правильно отображается в Form-> FormItem not:

enter image description here

Я не могу представить изображение, почему средство выбора не появляется.Вы?

ВОЗМОЖНОЕ РЕШЕНИЕ:

Если я обертываю ColorPicker внутри группы все работает:

ti = new Group();
Group( ti ).addElement( new ColorPicker() );

В этом случае ColorPicker выглядит как редактируемый.

Тем не менее, я был бы слишком рад узнать, в чем проблема с моим первоначальным решением.Ошибка?

Ответы [ 2 ]

1 голос
/ 17 октября 2011

DateField (который расширяет ComboBase, как ColorPicker) ведет себя правильно в искровой форме. Но в ColorPicker обработчик нажатия кнопки не вызывается никогда. Я думаю, что, возможно, часть скина, которая обрабатывает щелчки мыши (это должна быть кнопка), имеет неверные размеры, и в результате она не отображается. Я пришел к такому выводу, потому что в mx Form ColorPicker не отображается так, как при добавлении в обычный список отображения ...

Надеюсь, это поможет ...

0 голосов
/ 17 октября 2011

В предоставленном вами коде вы никогда не добавляете colorPicker в качестве дочернего элемента в любой родительский контейнер; как таковой, он никогда не появится нигде.

Вам, вероятно, нужно сделать что-то вроде:

formItem.addChild(ti ); 

[или для элемента Spark formItem]:

formItem.addElement(ti ); 

Я не понимаю, почему вы видите прямоугольник.

...