| Hello Paul, thanks for your answer! 
 No, the problem is not, that the model item is not in sync with the GUI.  
 Let me explain it with an example 
 Assume  I have a filter for a viewer with a DirectMenuItem "Filter Male" of type CHECK. Now during startup I need to synchronize the state of my filter class with the state of the DirectMenuItem (isSelected).  
 If I do not do that, the DirectMenuItem may show isSelected: true while FilterMale is set to false. So I have to set the DirectMenuItem state according to the initial setting of the filter or vice versa. The sychronization I hence talk about is between the application model and my code!  
 So, what and where is the correct e4 style way to do this initial synchronization?  In the handler? In a processor? In the part with the viewer? 
 Suppose a the handler (i.e. classURI for DirectMenuItem): At @Execute it is to late, as the item is already presented. It could be handled by  @CanExecute, this, however, is called everytime the MenuItem is shown (it however solves the problem). So I thought about @PostConstruct as i is called only once on instantiation and would be a perfect fit to execute the synchronization. 
 This is for DirectMenuItem, for HandledMenuItems I see that in Eclipse 3.x there was a state available to a command which conveyed this 
 Thanks, marco --On Fri, Dec 28, 2012 at 4:49 PM, Marco Descher <marco@xxxxxxxxxx>  wrote: 
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.
 
 I'm not sure I follow you.  Are you saying that if you modify the checked model item, it's not reflected in the GUI?
 
 You can't depend on anything in a  @PostConstruct with handler contributions (handlers for commands or direct contributions) that isn't available in the global application context.  And we recommend not to use @Inject with handlers in general.
 
 Instead, you should be able to ask for an MMenuItem in your execute(*) method.  See org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.getStaticContext(Event) and org.eclipse.e4.ui.workbench.renderers.swt.DirectContributionItem.getStaticContext(Event) for how the model element is supposed to be made available to the @Execute or @CanExecute.
 
 
 PW
 
 
 
Paul Webster
 Hi floor.  Make me a sammich! - GIR
_______________________________________________
 e4-dev mailing list
 e4-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/e4-dev
 
 |