Проблема в строке меню Flex ActionScript XMLList - PullRequest
2 голосов
/ 26 апреля 2011

Я работаю во Flex 4 и не могу использовать элемент управления MenuBar, для заполнения его элементов требуется XMLList, но проблема в том, что я хочу применить условия в подэлементах моего меню, позвольте мне объяснить мою проблему на примере:

var menubarXML:XMLList;

menubarXML=
<>
   <menuitem label="File">
   <menuitem label="New Sheet" data="new_sheet"/>
   <menuitem label="Open Existing" data="open_sheet"/>
   <menuitem label="Print" data="print"/>
   //i want to apply condition here     
   <menuitem label="Save" data="save_pdf"/>
   <menuitem label="Exit" data="exit"/>
   </menuitem>
</>

Например, как я могу применить условие, например, если (anyflag == true) отключить мой подпункт меню сохранения, конечно, вопрос прост, и эту проблему легко решить в Java и PHP.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

Вы также можете определить свой собственный дескриптор для своего меню, в котором вы переопределяете метод isEnabled , чтобы включить или отключить элементы, использующие тег на примере рендеринга, как

public class MyDescriptor extends DefaultDataDescriptor
{

    public function MyDescriptor()
    {
        super();

    }

    override public function isEnabled(node:Object):Boolean
    {
                    return 'true'==node.anytag;
    }

}

и Меню затем создается как

menu = Menu.createMenu(this, dataprovider, false);
menu.dataDescriptor = new MyDescriptor();

Надежды, которые помогают

0 голосов
/ 26 апреля 2011

В вашем XML есть атрибут с enable = true или false;

<menuitem label="File">
<menuitem label="New Sheet" data="new_sheet" enable = "true"/>
<menuitem label="Open Existing" data="open_sheet" enable = "true"/>
<menuitem label="Print" data="print" enable = "false"/>
</menuitem>

Теперь при разборе вашего xml проверьте, является ли разрешение true или false, исходя из того, что вы можете управлять своим меню и его дочерними элементами.

...