&pgid;
Flex¤Ë¤Ä¤¤¤ÆÃΤé¤Ê¤µ²á¤®¤ë¤Î¤Ç¡¢[[¡ÖFlex3¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç¡×>http://www.amazon.co.jp/Flex3¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç-µÜÅÄ-μ/dp/4798020435/]]¤Ë¤¶¤Ã¤ÈÌܤòÄ̤·¤Æ
²¿¤¬¤Ç¤¤ë¤â¤Î¤Ê¤Î¤«Çİ®¤¹¤ë¡£2²óÌÜ¡£
¢ª 1²óÌܤϤ³¤³¤Ë¡§ [[Flex¥á¥â/¡ÖFlex3¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç¡×¤¶¤Ã¤ÈÆÉ¤ß]]
** Ìܼ¡ [#gd0197b6]
#contents();
** ¥Ó¥¸¥å¥¢¥ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ç»ÈÍѤµ¤ì¤ë´ðËܳµÇ° [#be7a70f6]
- ¥µ¥¤¥º:¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¹â¤µ¤ÈÉý¡£¥µ¥¤¥º¥×¥í¥Ñ¥Æ¥£¤Ç¼èÆÀ¤ÈÀßÄ꤬²Äǽ¡£
- ¥¹¥¥ó: ³°´Ñ¤Ë´Ø¤¹¤ë¥°¥é¥Õ¥£¥«¥ë¤ÊÍ×ÁǤò»Ø¤¹
- ¥¹¥¿¥¤¥ë: CSS¤Î¤è¤¦¤Ê¤â¤Î¡£
- ¥¤¥Ù¥ó¥È: ¥¢¥×¥êµ¯Æ°¡¢¥Þ¥¦¥¹Áàºî¤ä¥¡¼ÆþÎϤˤè¤Ã¤ÆÈ¯À¸
- ¥Ó¥Ø¥¤¥Ó¥¢
** Flex¥³¥ó¥È¥í¡¼¥ë [#h871cb70]
- ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»Ê¤ë¥Ó¥¸¥å¥¢¥ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥³¥ó¥È¥í¡¼¥ë¤È¸Æ¤Ö¡£
-- ¥Ü¥¿¥ó¡¢¥é¥Ù¥ë¡¢¥Æ¥¥¹¥È¥Õ¥£¡¼¥ë¥É¡¢¥³¥ó¥Ü¥Ü¥Ã¥¯¥¹¡¢¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤Ê¤É
- ¥³¥ó¥Æ¥ÊÆâ¤ËÇÛÃÖ¤¹¤ë¡£
:Adobe Flex Component Explorer¡Ê¥³¥ó¥È¥í¡¼¥ë¤Î°ìÍ÷¡Ë|
http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html
¤É¤ó¤Ê¥³¥ó¥È¥í¡¼¥ë¤¬È÷¤ï¤Ã¤Æ¤¤¤ë¤«¡¢¤½¤ì¤¾¤ì¤Î³°´Ñ¤È¥½¡¼¥¹¤ò³Îǧ¤Ç¤¤ë¡£
¤Þ¤¿¡¢¤³¤ì¼«¿È¤¬mxml¤Ç½ñ¤«¤ì¤Æ¤¤¤Æ¡¢¤·¤«¤â°ì¤Ä°ì¤Ä¤Ïû¤¤¤Î¤Ç¡¢¥³¡¼¥É¤òÆÉ¤àÊÙ¶¯¤Ë¤âÎɤµ¤½¤¦¡£
- HTML¤Î¥Õ¥©¡¼¥à¤Î¥Ñ¡¼¥Ä¤ò¤â¤Ã¤È¥ê¥Ã¥Á¤Ë¤·¤¿´¶¤¸¡£
- ¤½¤ì¤¾¤ì¥¯¥é¥¹Ì¾¤¬¤¢¤Ã¤Æ¡¢¥¿¥°/¥×¥í¥Ñ¥Æ¥£/¥¤¥Ù¥ó¥È/¥á¥½¥Ã¥É/¥¹¥¿¥¤¥ë¤ò¤â¤Ä¡£
*** ´ðËÜ¥³¥ó¥È¥í¡¼¥ë [#g2b6d641]
- ¢¬Adobe Flex Component Explorerį¤á¤¿Êý¤¬Áᤤ¤Î¤Ç¾Êά
-- Alert
-- ¥¿¥°¸«¤¿¤é¤À¤¤¤¿¤¤ÁÛÁü¤Ä¤¯¤ä¤Ä¡§ <mx.Button>¡¢<mx:CheckBox>¡¢<mx.ComboBox>¡¢<mx:List>¡¢<mx:Menu>¡¢<mx:NumericStepper>¡Ê¢¥¢§¤Ç¿ô»úÁª¤Ö¤ä¤Ä¡Ë¡¢<mx:RadioButton>
-- ¥¹¥é¥¤¥À¡¼ <mx:HSlider><mx:VSlider>
-- ¥«¥é¡¼¥Ô¥Ã¥«¡¼ <mx:ColorPicker>
-- ¥Ç¡¼¥È¥Á¥å¡¼¥¶¡¼ <mx:DateChooser> ¥«¥ì¥ó¥À¡¼É½¼¨¤·¤ÆÆü¤òÁª¤Ö
-- ¥¿¥¤¥ë¥ê¥¹¥È <mx:TileList> ¥¿¥¤¥ë¾å¤ËÊ£¿ô¤Î¥¢¥¤¥Æ¥à¤òʤ٤ÆÉ½¼¨¡£Tile¥³¥ó¥Æ¥Ê¥³¥ó¥È¥í¡¼¥ë¤è¤ê½é´üɽ¼¨¤¬Â®¤¤
-- ¥Ä¥ê¡¼ <mx:Tree> ³«ÊIJÄǽ¤Ê³¬Áإĥ꡼
*** ¥Æ¥¥¹¥È´ØÏ¢¤Î¥³¥ó¥È¥í¡¼¥ë [#b0792f4c]
- ¥Æ¥¥¹¥È¥Ç¡¼¥¿¤Îɽ¼¨¡¢ÆþÎϽèÍýÍѤΥ³¥ó¥È¥í¡¼¥ë
- ´ðËÜŪ¤ÊHTMLʸ½ñ¤òɽ¼¨¤Ç¤¤ë htmlText:¤Û¤²¤Û¤²¡ÊHTMLʸ¡Ë
- ¥¹¥¿¥¤¥ë¤Ë¤è¤ë½ñ¼°ÀßÄ꤬¤Ç¤¤ë
-- ɽ¼¨ÀìÍÑ¡§<mx:Label>, <mx:Text>
-- ÆþÎϽèÍýÍÑ¡ÊÉáÄ̤Υƥ¥¹¥ÈÆþÎϡˡ§ <mx:TextInput>, <mx:TextArea>,
-- ÆþÎϽèÍýÍѡʥê¥Ã¥Á¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¡Ë¡§ <mx:RichTextEditor>
*** ²èÁü¥³¥ó¥È¥í¡¼¥ë [#q1fda685]
Flex¤Ç°·¤¨¤ë²èÁü¥Õ¥¡¥¤¥ë·Á¼°
- JPEG¡Ê½ü¡§¥×¥í¥°¥ì¥Ã¥·¥Ö¡Ë
- GIF¡ÊÆ©ÌÀGIF¤âOK¡Ë
- PNG¡Ê¦Á¥Á¥ã¥ó¥Í¥ëOK¡Ë
- SWF
- SVG¡Ê¼Â¹Ô»þÆÉ¤ß¹þ¤ß¤ÏNG¡£¥³¥ó¥Ñ¥¤¥ë»þËä¤á¹þ¤ß¤Î¤ß¡£¡Ë
²èÁü¤Î»ý¤¿¤»Êý
- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¼«¿È¤Ç»ý¤Ã¤Æ¤ª¤¯¡Êswf¥Õ¥¡¥¤¥ëÆâËä¤á¹þ¤ß¡Ë
- ¼Â¹Ô»þ¤Ë¥í¡¼¥É
--(1)Image¥³¥ó¥È¥í¡¼¥ë¤Îsource¥×¥í¥Ñ¥Æ¥£»È¤Ã¤Æ¥í¡¼¥É ¢ª ¤³¤Î¥³¡¼¥É¼Â¹Ô»þ¤Ë¥í¡¼¥É
<mxd:Image source="asset/image1.jpg" />
--(2)Image¥¯¥é¥¹¤Îload()¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¥í¡¼¥É ¢ª ÆÃÄê¤Î¥¿¥¤¥ß¥ó¥°¤Ë¥í¡¼¥É¤Ç¤¤ë
<mx:Button label="ÀâÌÀ" click="display_image.load('image2.jpg')" />
*** ¥Ç¡¼¥¿¥°¥ê¥Ã¥É [#z08e521b]
Íפ¹¤ë¤Ëɽ¡£
²¿¤¬¤Ç¤¤ë¡©
- ¥Ç¡¼¥¿ÊÔ½¸¤¬¤Ç¤¤ë
- ÎóÉý¤òÊѤ¨¤é¤ì¤ë
- Îó¹àÌܤǥ½¡¼¥È
- ¹ÔÁªÂò»þ¤Î¥¤¥Ù¥ó¥È¼èÆÀ
** ¥³¥ó¥Æ¥Ê [#ma2c377f]
¥ì¥¤¥¢¥¦¥È¥³¥ó¥Æ¥Ê¡¢¥Ê¥Ó¥²¡¼¥¿¥³¥ó¥Æ¥Ê¤Î2¼ïÎढ¤ë¡£
-¥ì¥¤¥¢¥¦¥È¥³¥ó¥Æ¥Ê¡§¥ì¥¤¥¢¥¦¥È¤òÀ©¸æ¤¹¤ë¡£
-- <div>¥¿¥°¤Î¤ªÍø¸ý¤µ¤ó¥Ð¡¼¥¸¥ç¥ó¤Ã¤Æ´¶¤¸
- ¥Ê¥Ó¥²¡¼¥¿¥³¥ó¥Æ¥Ê¡§
--¥¢¥³¡¼¥Ç¥£¥ª¥ó¡¢¥¿¥ÖÀڤ꤫¤¨¡¢¤È¤«¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¡£
-- ¤Û¤Û¤©¡£¡£¤³¤ì»È¤¨¤Ð´Êñ¤Ë¤Ç¤¤ë¤ó¤À¡£¥¢¥³¡¼¥Ç¥£¥ª¥ó¡£
-- »Ò¥³¥ó¥Æ¥Ê¤ò¥°¥ë¡¼¥×¤È¤·¤Æ´ÉÍý¤¹¤ë¡£
-- ´ÉÍý¤Ç¤¤ë¤Î¤Ï¥³¥ó¥Æ¥Ê¤Î¤ß¡£¥³¥ó¥È¥í¡¼¥ë¤òľÀܤλҤˤϤǤ¤Ê¤¤¡£
** ¥Ó¥å¡¼¥¹¥Æ¡¼¥È [#w0bce70e]
- ¥µ¡¼¥Ð¥¢¥¯¥»¥¹¤Ê¤·¤Ë¡¢²èÌÌÁ«°Ü¡Ê²èÌ̤ΰìÉô¤¢¤ë¤¤¤ÏÁ´Éô¤òÀڤ꤫¤¨¡Ë
- ¥¿¥¤¥à¥é¥¤¥ó¤ò»È¤ï¤º¤ËÀ߷פǤ¤ë¤Î¤Ç³«È¯¸úΨ¤¬¹â¤¤
- ³Æ¾ìÌ̤ò¥¹¥Æ¡¼¥È¤È¸Æ¤Ö¡£FireWorkd¤Î¥Õ¥ì¡¼¥à¤ß¤¿¤¤¤Ê¤â¤ó¡©
-- ¥¹¥Æ¡¼¥È´Ö¤Ç¹½À®Í×ÁǤò¶¦Í¤Ç¤¤ë¡£
<mx:Application ¡¦¡¦¡¦>
<mx:states>
<mx:State name="¥¹¥Æ¡¼¥È̾" >
<!-- State¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æµ½Ò -->
</mx:State>
</mx:states>
<!-- ¥Ù¡¼¥¹¥¹¥Æ¡¼¥È¤Ë¤Ä¤¤¤Æµ½Ò -->
</mx:Application
*** ¥È¥é¥ó¥¸¥·¥ç¥ó <mx:transition> [#vd7fd7b1]
¥¹¥Æ¡¼¥ÈÀڤ꤫¤¨»þ¤Ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¸ú²Ì¤ò¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤ë
- ¤Ü¤«¤·¸ú²Ì
- dissolve¡ÊÉÔÆ©ÌÀ ¢ª Æ©ÌÀ¤Ë¡Ë
- ¥Õ¥§¡¼¥É¥¤¥ó¡¢¥Õ¥§¡¼¥É¥¢¥¦¥È
- Glow¡Êȯ¸÷¸ú²Ì¡Ë
- Iris¡Ê¥¿¡¼¥²¥Ã¥ÈÃæ±û¤Î¥Þ¥¹¥¯¶ë·Á¤ò³ÈÄ¥/½Ì¾®)
- ¥ï¥¤¥×
- Move, Pause, Resize, Rotate, Zoom
- SoundEffect
¥Ñ¥é¥ì¥ë¤Ë¥¨¥Õ¥§¥¯¥È¤«¤±¤ë<mx:Parallel>¤³¤È¤â¡¢¥·¡¼¥±¥ó¥·¥ã¥ë¤Ë¥¨¥Õ¥§¥¯¥È¤ò¤«¤±¤ë<mx:Sequence> ¤³¤È¤â¤Ç¤¤ë¡£
** ¥¹¥¿¥¤¥ë [#db940dc3]
CSS¤È¤Û¤ÜƱ¤¸¡£
- mx¥¿¥°Æâ¤Ëľ½ñ¤¡§ ½é´üÀßÄê¤Ê¤É¤Ë
< mx:Text id="foo" text="¤Û¤²¤Û¤²" fontSize="12" />
- setStyle()¥á¥½¥Ã¥É»È¤¦: ưŪÀ©¸æ²Äǽ
style_pnl.setStyle ( "borderColor", border_col.selectedColor );
- <mx:Style>¤Ç½ñ¤¯
<mx:Style>
.style1 { font-size: 16px; } ¢«¥¯¥é¥¹¥»¥ì¥¯¥¿
Panel { font-size: 16px; }¡¡¡¡ ¢« ¥¿¥¤¥×¥»¥ì¥¯¥¿¤â»È¤¨¤ë
</mx:Style>
¥¯¥é¥¹¥»¥ì¥¯¥¿¤ÎŬÍѤϢstyleName¥×¥í¥Ñ¥Æ¥£¤Ç¹Ô¤¦
<mx:Text styleName ="style1" ¡¦¡¦¡¦/>
** ¥µ¡¼¥Ð¤È¤ÎÄÌ¿® [#l8233e36]
¡Ê»þ´Ö¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¸å¤Ç¡Ë
== (¤ª¤ï¤ê) ==
#blikifooter(ȬÌÚ)
tag: [[Flex>tag/Flex]]
*** ²èÁü¥³¥ó¥È¥í¡¼¥ë [#q1fda685]
Flex¤Ç°·¤¨¤ë²èÁü¥Õ¥¡¥¤¥ë·Á¼°
- JPEG¡Ê½ü¡§¥×¥í¥°¥ì¥Ã¥·¥Ö¡Ë
- GIF¡ÊÆ©ÌÀGIF¤âOK¡Ë
- PNG¡Ê¦Á¥Á¥ã¥ó¥Í¥ëOK¡Ë
- SWF
- SVG¡Ê¼Â¹Ô»þÆÉ¤ß¹þ¤ß¤ÏNG¡£¥³¥ó¥Ñ¥¤¥ë»þËä¤á¹þ¤ß¤Î¤ß¡£¡Ë
²èÁü¤Î»ý¤¿¤»Êý
- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¼«¿È¤Ç»ý¤Ã¤Æ¤ª¤¯¡Êswf¥Õ¥¡¥¤¥ëÆâËä¤á¹þ¤ß¡Ë
- ¼Â¹Ô»þ¤Ë¥í¡¼¥É
--(1)Image¥³¥ó¥È¥í¡¼¥ë¤Îsource¥×¥í¥Ñ¥Æ¥£»È¤Ã¤Æ¥í¡¼¥É ¢ª ¤³¤Î¥³¡¼¥É¼Â¹Ô»þ¤Ë¥í¡¼¥É
<mxd:Image source="asset/image1.jpg" />
--(2)Image¥¯¥é¥¹¤Îload()¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¥í¡¼¥É ¢ª ÆÃÄê¤Î¥¿¥¤¥ß¥ó¥°¤Ë¥í¡¼¥É¤Ç¤¤ë
<mx:Button label="ÀâÌÀ" click="display_image.load('image2.jpg')" />
*** ¥Ç¡¼¥¿¥°¥ê¥Ã¥É [#z08e521b]
Íפ¹¤ë¤Ëɽ¡£
²¿¤¬¤Ç¤¤ë¡©
- ¥Ç¡¼¥¿ÊÔ½¸¤¬¤Ç¤¤ë
- ÎóÉý¤òÊѤ¨¤é¤ì¤ë
- Îó¹àÌܤǥ½¡¼¥È
- ¹ÔÁªÂò»þ¤Î¥¤¥Ù¥ó¥È¼èÆÀ
** ¥³¥ó¥Æ¥Ê [#ma2c377f]
¥ì¥¤¥¢¥¦¥È¥³¥ó¥Æ¥Ê¡¢¥Ê¥Ó¥²¡¼¥¿¥³¥ó¥Æ¥Ê¤Î2¼ïÎढ¤ë¡£
-¥ì¥¤¥¢¥¦¥È¥³¥ó¥Æ¥Ê¡§¥ì¥¤¥¢¥¦¥È¤òÀ©¸æ¤¹¤ë¡£
-- <div>¥¿¥°¤Î¤ªÍø¸ý¤µ¤ó¥Ð¡¼¥¸¥ç¥ó¤Ã¤Æ´¶¤¸
- ¥Ê¥Ó¥²¡¼¥¿¥³¥ó¥Æ¥Ê¡§
--¥¢¥³¡¼¥Ç¥£¥ª¥ó¡¢¥¿¥ÖÀڤ꤫¤¨¡¢¤È¤«¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¡£
-- ¤Û¤Û¤©¡£¡£¤³¤ì»È¤¨¤Ð´Êñ¤Ë¤Ç¤¤ë¤ó¤À¡£¥¢¥³¡¼¥Ç¥£¥ª¥ó¡£
-- »Ò¥³¥ó¥Æ¥Ê¤ò¥°¥ë¡¼¥×¤È¤·¤Æ´ÉÍý¤¹¤ë¡£
-- ´ÉÍý¤Ç¤¤ë¤Î¤Ï¥³¥ó¥Æ¥Ê¤Î¤ß¡£¥³¥ó¥È¥í¡¼¥ë¤òľÀܤλҤˤϤǤ¤Ê¤¤¡£
** ¥Ó¥å¡¼¥¹¥Æ¡¼¥È [#w0bce70e]
- ¥µ¡¼¥Ð¥¢¥¯¥»¥¹¤Ê¤·¤Ë¡¢²èÌÌÁ«°Ü¡Ê²èÌ̤ΰìÉô¤¢¤ë¤¤¤ÏÁ´Éô¤òÀڤ꤫¤¨¡Ë
- ¥¿¥¤¥à¥é¥¤¥ó¤ò»È¤ï¤º¤ËÀ߷פǤ¤ë¤Î¤Ç³«È¯¸úΨ¤¬¹â¤¤
- ³Æ¾ìÌ̤ò¥¹¥Æ¡¼¥È¤È¸Æ¤Ö¡£FireWorkd¤Î¥Õ¥ì¡¼¥à¤ß¤¿¤¤¤Ê¤â¤ó¡©
-- ¥¹¥Æ¡¼¥È´Ö¤Ç¹½À®Í×ÁǤò¶¦Í¤Ç¤¤ë¡£
<mx:Application ¡¦¡¦¡¦>
<mx:states>
<mx:State name="¥¹¥Æ¡¼¥È̾" >
<!-- State¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æµ½Ò -->
</mx:State>
</mx:states>
<!-- ¥Ù¡¼¥¹¥¹¥Æ¡¼¥È¤Ë¤Ä¤¤¤Æµ½Ò -->
</mx:Application
*** ¥È¥é¥ó¥¸¥·¥ç¥ó <mx:transition> [#vd7fd7b1]
¥¹¥Æ¡¼¥ÈÀڤ꤫¤¨»þ¤Ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¸ú²Ì¤ò¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤ë
- ¤Ü¤«¤·¸ú²Ì
- dissolve¡ÊÉÔÆ©ÌÀ ¢ª Æ©ÌÀ¤Ë¡Ë
- ¥Õ¥§¡¼¥É¥¤¥ó¡¢¥Õ¥§¡¼¥É¥¢¥¦¥È
- Glow¡Êȯ¸÷¸ú²Ì¡Ë
- Iris¡Ê¥¿¡¼¥²¥Ã¥ÈÃæ±û¤Î¥Þ¥¹¥¯¶ë·Á¤ò³ÈÄ¥/½Ì¾®)
- ¥ï¥¤¥×
- Move, Pause, Resize, Rotate, Zoom
- SoundEffect
¥Ñ¥é¥ì¥ë¤Ë¥¨¥Õ¥§¥¯¥È¤«¤±¤ë<mx:Parallel>¤³¤È¤â¡¢¥·¡¼¥±¥ó¥·¥ã¥ë¤Ë¥¨¥Õ¥§¥¯¥È¤ò¤«¤±¤ë<mx:Sequence> ¤³¤È¤â¤Ç¤¤ë¡£
** ¥¹¥¿¥¤¥ë [#db940dc3]
CSS¤È¤Û¤ÜƱ¤¸¡£
- mx¥¿¥°Æâ¤Ëľ½ñ¤¡§ ½é´üÀßÄê¤Ê¤É¤Ë
< mx:Text id="foo" text="¤Û¤²¤Û¤²" fontSize="12" />
- setStyle()¥á¥½¥Ã¥É»È¤¦: ưŪÀ©¸æ²Äǽ
style_pnl.setStyle ( "borderColor", border_col.selectedColor );
- <mx:Style>¤Ç½ñ¤¯
<mx:Style>
.style1 { font-size: 16px; } ¢«¥¯¥é¥¹¥»¥ì¥¯¥¿
Panel { font-size: 16px; }¡¡¡¡ ¢« ¥¿¥¤¥×¥»¥ì¥¯¥¿¤â»È¤¨¤ë
</mx:Style>
¥¯¥é¥¹¥»¥ì¥¯¥¿¤ÎŬÍѤϢstyleName¥×¥í¥Ñ¥Æ¥£¤Ç¹Ô¤¦
<mx:Text styleName ="style1" ¡¦¡¦¡¦/>
** ¥µ¡¼¥Ð¤È¤ÎÄÌ¿® [#l8233e36]
¡Ê»þ´Ö¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¸å¤Ç¡Ë
== (¤ª¤ï¤ê) ==
#blikifooter(ȬÌÚ)
tag: [[Flex>tag/Flex]]