56 super(env, item);
57 }
58
59 @As(MenuItem.class)
60 public Parent<MenuItem> asMenuParent() {
61 if (parent == null) {
62 parent = new MenuItemParent(this) {
63
64 @Override
65 protected List getControls() {
66 return new FutureAction<>(getEnvironment(), () -> getControl().getItems()).get();
67 }
68 };
69 }
70 return parent;
71 }
72
73 @As(MenuItem.class)
74 public StringMenuOwner<MenuItem> asMenuOwner() {
75 if (menuOwner == null) {
76 menuOwner = new StringMenuOwnerImpl(this, this.as(Parent.class, Menu.class));
77 }
78 return menuOwner;
79 }
80
81 @Property(SHOWING_PROPERTY_NAME)
82 public boolean isShowing() {
83 return isShowing(getControl(), getEnvironment());
84 }
85
86 @Property(PARENT_SHOWN_PROPERTY_NAME)
87 public boolean isParentShown() {
88 return isParentShown(getControl(), getEnvironment());
89 }
90
91 static boolean isShowing(final Menu menu, Environment env) {
92 return new FutureAction<>(env, menu::isShowing).get();
93 }
94
95 static boolean isParentShown(final Menu menu, Environment env) {
96 return new FutureAction<>(env, () -> {
|
56 super(env, item);
57 }
58
59 @As(MenuItem.class)
60 public Parent<MenuItem> asMenuParent() {
61 if (parent == null) {
62 parent = new MenuItemParent(this) {
63
64 @Override
65 protected List getControls() {
66 return new FutureAction<>(getEnvironment(), () -> getControl().getItems()).get();
67 }
68 };
69 }
70 return parent;
71 }
72
73 @As(MenuItem.class)
74 public StringMenuOwner<MenuItem> asMenuOwner() {
75 if (menuOwner == null) {
76 menuOwner = new StringMenuOwnerImpl(this, (Parent <Menu>)this.as(Parent.class, Menu.class));
77 }
78 return menuOwner;
79 }
80
81 @Property(SHOWING_PROPERTY_NAME)
82 public boolean isShowing() {
83 return isShowing(getControl(), getEnvironment());
84 }
85
86 @Property(PARENT_SHOWN_PROPERTY_NAME)
87 public boolean isParentShown() {
88 return isParentShown(getControl(), getEnvironment());
89 }
90
91 static boolean isShowing(final Menu menu, Environment env) {
92 return new FutureAction<>(env, menu::isShowing).get();
93 }
94
95 static boolean isParentShown(final Menu menu, Environment env) {
96 return new FutureAction<>(env, () -> {
|