Работа с кнопками Добавьте в окно еще один раздел для работы с атрибутом conserve у системы частиц. После окончания этого раздела (то есть после двух команд setParent ..;) добавьте четыре кнопки командой button с флагом -I, задающим надпись на кнопке.

iff window -ex DROP_WINDOW' ==1) { deleteUI DROP_WINDOW; }

window -t “drop attributes” DROP_WINDOW;

columnLayout;

frameLayout -I “push Field Attributes" -ell 1; columnLayout; attrFieldSliderGrp -at pushField.mag -min 0 -max 50; attrFieldSliderGrp -at pushField.att -min 0 -max 4 ; attrFieldSliderGrp -at pushField.max -min 0 -max 10 ; setParent setParent..;

frameLayout -I “pull Field Attributes” -ell 1; columnLayout; attrFieldSliderGrp -at pullField.mag -min -50 -max 0; attrFieldSliderGrp -at pullField.att -min 0 -max 4 ; attrFieldSliderGrp -at pullField.max -min 0 -max 10 ; setParent setParent

frameLayout -I “particles Attributes” -ell 1; columnLayout;

attrFieldSliderGrp -at drop.con -min 0 -max 1; setParent setParent ..; button -I “Reset”; button -I "Save”; button -I “Load”; button -I “Close”;

showWindow DROP_WINDOW;

Как видите, дизайн нижней части окна оставляет желать лучшего. Если с шириной кнопок все более-менее понятно (флаг w), то для расположения их в одну строку проще всего воспользоваться схемой расположения gridLayout, которая расставляет элементы в виде таблицы с заданным количеством столбцов.

iff window -ex DROP_WINDOW'==1) { deleteUI DROP_WINDOW; }

window -t “drop attributes” DROP_WINDOW;

columnLayout;

frameLayout -I “push Field Attributes” -ell 1; columnLayout; attrFieldSliderGrp -at pushField.mag -min 0 -max 50; attrFieldSliderGrp -at pushField.att -min 0 -max 4 ; attrFieldSliderGrp -at pushField.max -min 0 -max 10 ; setParent setParent..;

frameLayout -I “pull Field Attributes” -ell 1; columnLayout; attrFieldSliderGrp -at pullField.mag -min -50 -max 0;

attrFieldSliderGrp -at pullField.att -min 0 -max 4 ; attrFieldSliderGrp -at pullField.max -min 0 -max 10 ; setParent setParent

frameLayout -I “particles Attributes” -ell 1; columnLayout;

attrFieldSliderGrp -at drop.con -min 0 -max 1; setParent setParent ..;

separator -style “none” -h 15;

gridLayout -numberOfColumns 4 -cellWidthHeight 96 32; button -I “Reset” -w 94; button -I “Save” -w 94; button -I “Load” -w 94; button -I “Close” -w 94; setParent

showWindow DROP_WINDOW;

Названия флагов команды gridLayout говорят сами за себя. Чтобы кнопка выполняла какое-нибудь действие, необходимо привязать к ней команду (или набор команд). Это делается с помощью флага -с, поэтому пытливые умы быстро сообразят, что для того, чтобы закрыть окно кнопкой Close, надо добавить к соответствующей команде button строку, содержащую команду удаления окна.

button -I “Load” -w 94;

button -I “Close” -w 94 -c “deleteUI DROP_WINDOW;” ; В строке, идущей за флагом -с, может содержаться несколько команд, разделенных точкой с запятой. Однако если команд будет слишком много, будет неудобно писать такую длинную строку. В этом случае удобнее объединить набор команд в процедуру и вызвать ее по имени при нажатии кнопки.


⇐ вернуться назад | | далее ⇒