[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[e4-dev] DirectMenuItem and HandledMenuItem with style CHECK or RADIO
|
I have problems understanding the concept of state synchronization of the application model with my code for DirectMenuItems and HandledMenuItems of type CHECK or RADIO.
The problem is as follows:
I populate a Menu with either Direct or HandledMenuItems and except their selection states (in CHECK or RADIO) style to be according to my code. The problem is that I can't figure
out how to realize this.
In http://www.eclipse.org/forums/index.php/m/995010 I described a possible solution for a DirectMenuElement SWT.CHECK style using the following class URI implementation:
@PostConstruct
public void initialize(MDirectMenuItem me) {
// cover initialization stuff, sync it with code
boolean currentlySelected = me.isSelected();
}
@Execute
public void execute(MDirectMenuItem me) {
// do the stuff to handle it
execute.blafoo();
// toggle the state
me.setSelected(!me.isSelected());
}
The problem is now, that the @PostConstruct is not injected with the resp. MDirectMenuItem, which would allow me to do the initial sychronization. It is, however dependent on the
embeddingt, injected with a MUIElement of type TrimmedWindow (for Application Main Menu or PartImpl for ViewMenu) which is wierd.
Unfortunately I have not yet found information on how this is handled correctly E4 style (cf. http://www.eclipse.org/forums/index.php/t/442970/ or http://www.eclipse.org/forums/index.php/t/444326/ or http://stackoverflow.com/questions/14074234/state-of-menuitem-of-type-check-or-radio-in-eclipse-4) for me however the above presented code solution would be the correct one.
The problem gets even more complicated when RADIO groups come into play. But one step at a time.
If there are no opinions or remarks, I would file a bug for the correct injection on @PostConstruct to be able to care for initial synchronization.
Thanks a lot,
Marco