org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.core.runtime.jobs,
+ org.eclipse.e4.core.services.events,
org.eclipse.equinox.app,
org.eclipse.osgi.util;version="1.1.0",
org.eclipse.ui.forms.widgets,
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
+import eu.etaxonomy.taxeditor.event.EventUtility;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.DataChangeBridge;
}
}
+ @Inject
+ @Optional
+ public void updateLinkWithTaxon(@UIEventTopic(WorkbenchEventConstants.UPDATE_LINK_WITH_TAXON) boolean isLinkWithTaxon){
+ this.linkWithTaxon = !linkWithTaxon;
+
+ if(this.isLinkWithTaxon()){
+ this.updateCurrentTaxon(EventUtility.getTaxonEditor());
+ }
+ }
+
public void setLinkWithTaxon(boolean linkWithTaxon) {
this.linkWithTaxon = linkWithTaxon;
}
*/
package eu.etaxonomy.taxeditor.navigation.navigator.e4.handler;
+import javax.inject.Inject;
import javax.inject.Named;
import org.eclipse.e4.core.di.annotations.CanExecute;
import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
import org.eclipse.e4.ui.services.IServiceConstants;
-import eu.etaxonomy.taxeditor.event.EventUtility;
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.navigation.navigator.e4.TaxonNavigatorE4;
/**
*
*/
public class LinkWithTaxonHandlerE4 {
+ @Inject
+ private IEventBroker eventBroker;
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART)MPart activePart) {
- if (activePart!=null && activePart.getObject() instanceof TaxonNavigatorE4) {
- TaxonNavigatorE4 taxonNavigator = (TaxonNavigatorE4) activePart.getObject();
- taxonNavigator.setLinkWithTaxon(!taxonNavigator.isLinkWithTaxon());
- if(taxonNavigator.isLinkWithTaxon()){
- taxonNavigator.updateCurrentTaxon(EventUtility.getTaxonEditor());
- }
- }
+ eventBroker.post(WorkbenchEventConstants.UPDATE_LINK_WITH_TAXON, true);
}
@CanExecute