Context Menu Example

An example of using the Menu widget as a context menu.

Tip

To see this example in action, download it from context_menu and run:

$ enaml-run context_menu.enaml

Screenshot

../_images/ex_context_menu.png

Example Enaml Code

#------------------------------------------------------------------------------
# Copyright (c) 2013, Nucleic Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
#------------------------------------------------------------------------------
""" An example of using the `Menu` widget as a context menu.

<< autodoc-me >>
"""
from __future__ import print_function
from enaml.widgets.api import Window, Container, Field, Menu, Action


enamldef SampleAction(Action):
    text = '%s action %d' % (parent.title, parent.children.index(self))
    triggered :: print(text)


enamldef SampleMenu(Menu):
    SampleAction: pass
    SampleAction: pass
    SampleAction: pass


enamldef Main(Window):
    Container:
        Field:
            text = 'foo'
        Field:
            text = 'bar'
            SampleMenu:
                title = 'bar'
                context_menu = True
        Field:
            text = 'baz'
            SampleMenu:
                title = 'baz'
                context_menu = True