Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 196446 Details for
Bug 325768
'Toggle Mark Occurrences' tool bar button not in enabled state
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Proposed patch
Toggle_ToolItem.txt (text/plain), 11.53 KB, created by
Praveen
on 2011-05-24 11:17:34 EDT
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Praveen
Created:
2011-05-24 11:17:34 EDT
Size:
11.53 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.e4.ui.model.workbench >Index: src/org/eclipse/e4/ui/model/application/ui/menu/MHandledToolItem.java >=================================================================== >RCS file: /cvsroot/eclipse/e4/org.eclipse.e4.ui/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/MHandledToolItem.java,v >retrieving revision 1.2 >diff -u -r1.2 MHandledToolItem.java >--- src/org/eclipse/e4/ui/model/application/ui/menu/MHandledToolItem.java 16 Apr 2010 17:30:59 -0000 1.2 >+++ src/org/eclipse/e4/ui/model/application/ui/menu/MHandledToolItem.java 24 May 2011 15:10:38 -0000 >@@ -21,4 +21,28 @@ > * @generated > */ > public interface MHandledToolItem extends MToolItem, MHandledItem { >+ /** >+ * Returns the value of the '<em><b>Contribution Item</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <p> >+ * If the meaning of the '<em>Contribution Item</em>' attribute isn't clear, >+ * there really should be more of a description here... >+ * </p> >+ * <!-- end-user-doc --> >+ * @return the value of the '<em>Contribution Item</em>' attribute. >+ * @see #setContributionItem(Object) >+ * @model transient="true" >+ * @generated >+ */ >+ Object getContributionItem(); >+ >+ /** >+ * Sets the value of the '{@link org.eclipse.e4.ui.model.application.ui.menu.MRenderedMenuItem#getContributionItem <em>Contribution Item</em>}' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @param value the new value of the '<em>Contribution Item</em>' attribute. >+ * @see #getContributionItem() >+ * @generated >+ */ >+ void setContributionItem(Object value); > } // MHandledToolItem >Index: src/org/eclipse/e4/ui/model/application/ui/menu/impl/HandledToolItemImpl.java >=================================================================== >RCS file: /cvsroot/eclipse/e4/org.eclipse.e4.ui/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/HandledToolItemImpl.java,v >retrieving revision 1.3 >diff -u -r1.3 HandledToolItemImpl.java >--- src/org/eclipse/e4/ui/model/application/ui/menu/impl/HandledToolItemImpl.java 4 Jun 2010 20:22:07 -0000 1.3 >+++ src/org/eclipse/e4/ui/model/application/ui/menu/impl/HandledToolItemImpl.java 24 May 2011 15:10:38 -0000 >@@ -82,6 +82,26 @@ > * @ordered > */ > protected EList<MParameter> parameters; >+ >+ /** >+ * The default value of the '{@link #getContributionItem() <em>Contribution Item</em>}' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see #getContributionItem() >+ * @generated >+ * @ordered >+ */ >+ protected static final Object CONTRIBUTION_ITEM_EDEFAULT = null; >+ >+ /** >+ * The cached value of the '{@link #getContributionItem() <em>Contribution Item</em>}' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see #getContributionItem() >+ * @generated >+ * @ordered >+ */ >+ protected Object contributionItem = CONTRIBUTION_ITEM_EDEFAULT; > > /** > * <!-- begin-user-doc --> >@@ -186,6 +206,27 @@ > } > return super.eInverseRemove(otherEnd, featureID, msgs); > } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public Object getContributionItem() { >+ return contributionItem; >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public void setContributionItem(Object newContributionItem) { >+ Object oldContributionItem = contributionItem; >+ contributionItem = newContributionItem; >+ if (eNotificationRequired()) >+ eNotify(new ENotificationImpl(this, Notification.SET, MenuPackageImpl.HANDLED_TOOL_ITEM__CONTRIBUTION_MANAGER, oldContributionItem, contributionItem)); >+ } > > /** > * <!-- begin-user-doc --> >@@ -202,6 +243,8 @@ > return getWbCommand(); > case MenuPackageImpl.HANDLED_TOOL_ITEM__PARAMETERS: > return getParameters(); >+ case MenuPackageImpl.HANDLED_TOOL_ITEM__CONTRIBUTION_MANAGER: >+ return getContributionItem(); > } > return super.eGet(featureID, resolve, coreType); > } >@@ -225,6 +268,9 @@ > getParameters().clear(); > getParameters().addAll((Collection<? extends MParameter>)newValue); > return; >+ case MenuPackageImpl.HANDLED_TOOL_ITEM__CONTRIBUTION_MANAGER: >+ setContributionItem(newValue); >+ return; > } > super.eSet(featureID, newValue); > } >@@ -246,6 +292,9 @@ > case MenuPackageImpl.HANDLED_TOOL_ITEM__PARAMETERS: > getParameters().clear(); > return; >+ case MenuPackageImpl.HANDLED_TOOL_ITEM__CONTRIBUTION_MANAGER: >+ setContributionItem(CONTRIBUTION_ITEM_EDEFAULT); >+ return; > } > super.eUnset(featureID); > } >@@ -264,6 +313,8 @@ > return WB_COMMAND_EDEFAULT == null ? wbCommand != null : !WB_COMMAND_EDEFAULT.equals(wbCommand); > case MenuPackageImpl.HANDLED_TOOL_ITEM__PARAMETERS: > return parameters != null && !parameters.isEmpty(); >+ case MenuPackageImpl.HANDLED_TOOL_ITEM__CONTRIBUTION_MANAGER: >+ return CONTRIBUTION_ITEM_EDEFAULT == null ? contributionItem != null : !CONTRIBUTION_ITEM_EDEFAULT.equals(contributionItem); > } > return super.eIsSet(featureID); > } >Index: src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java >=================================================================== >RCS file: /cvsroot/eclipse/e4/org.eclipse.e4.ui/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java,v >retrieving revision 1.34 >diff -u -r1.34 MenuPackageImpl.java >--- src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java 20 Apr 2011 18:13:01 -0000 1.34 >+++ src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java 24 May 2011 15:10:41 -0000 >@@ -3736,6 +3736,15 @@ > * @ordered > */ > public static final int HANDLED_TOOL_ITEM__PARAMETERS = TOOL_ITEM_FEATURE_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>Contribution Manager</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ public static final int HANDLED_TOOL_ITEM__CONTRIBUTION_MANAGER = TOOL_ITEM_FEATURE_COUNT + 3; > > /** > * The number of structural features of the '<em>Handled Tool Item</em>' class. >@@ -3744,7 +3753,9 @@ > * @generated > * @ordered > */ >- public static final int HANDLED_TOOL_ITEM_FEATURE_COUNT = TOOL_ITEM_FEATURE_COUNT + 3; >+ public static final int HANDLED_TOOL_ITEM_FEATURE_COUNT = TOOL_ITEM_FEATURE_COUNT + 4; >+ >+ > > /** > * The operation id for the '<em>Get Localized Accessibility Phrase</em>' operation. >@@ -7630,6 +7641,7 @@ > toolControlEClass = createEClass(TOOL_CONTROL); > > handledToolItemEClass = createEClass(HANDLED_TOOL_ITEM); >+ createEAttribute(handledToolItemEClass, HANDLED_TOOL_ITEM__CONTRIBUTION_MANAGER); > > directToolItemEClass = createEClass(DIRECT_TOOL_ITEM); > >#P org.eclipse.e4.ui.workbench.renderers.swt >Index: src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java >=================================================================== >RCS file: /cvsroot/eclipse/e4/org.eclipse.e4.ui/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java,v >retrieving revision 1.7 >diff -u -r1.7 HandledContributionItem.java >--- src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java 17 May 2011 15:39:50 -0000 1.7 >+++ src/org/eclipse/e4/ui/workbench/renderers/swt/HandledContributionItem.java 24 May 2011 15:10:44 -0000 >@@ -228,6 +228,7 @@ > return; > } > model.setEnabled(canExecuteItem()); >+ // model.setSelected(canExecuteItem()); > update(); > } > >Index: src/org/eclipse/e4/ui/workbench/renderers/swt/ToolBarManagerRenderer.java >=================================================================== >RCS file: /cvsroot/eclipse/e4/org.eclipse.e4.ui/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ToolBarManagerRenderer.java,v >retrieving revision 1.12 >diff -u -r1.12 ToolBarManagerRenderer.java >--- src/org/eclipse/e4/ui/workbench/renderers/swt/ToolBarManagerRenderer.java 20 May 2011 19:41:39 -0000 1.12 >+++ src/org/eclipse/e4/ui/workbench/renderers/swt/ToolBarManagerRenderer.java 24 May 2011 15:10:44 -0000 >@@ -19,6 +19,7 @@ > import javax.annotation.PreDestroy; > import javax.inject.Inject; > import org.eclipse.e4.core.contexts.ContextInjectionFactory; >+import org.eclipse.e4.core.contexts.IContextFunction; > import org.eclipse.e4.core.contexts.IEclipseContext; > import org.eclipse.e4.core.contexts.RunAndTrack; > import org.eclipse.e4.core.services.events.IEventBroker; >@@ -694,6 +695,14 @@ > if (ici != null) { > return; > } >+ Object obj = itemModel.getContributionItem(); >+ if (obj instanceof IContextFunction) { >+ final IEclipseContext lclContext = getContext(itemModel); >+ lclContext.set("copiedItemModel", itemModel); //$NON-NLS-1$ >+ ici = (IContributionItem) ((IContextFunction) obj) >+ .compute(lclContext); >+ itemModel.setContributionItem(ici); >+ } > final IEclipseContext lclContext = getContext(itemModel); > HandledContributionItem ci = ContextInjectionFactory.make( > HandledContributionItem.class, lclContext); >#P org.eclipse.ui.workbench >Index: Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java >=================================================================== >RCS file: /cvsroot/eclipse/e4/org.eclipse.e4.compatibility/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java,v >retrieving revision 1.24 >diff -u -r1.24 MenuHelper.java >--- Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java 17 May 2011 19:01:36 -0000 1.24 >+++ Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java 24 May 2011 15:10:47 -0000 >@@ -58,6 +58,8 @@ > import org.eclipse.jface.action.IMenuCreator; > import org.eclipse.jface.action.MenuManager; > import org.eclipse.jface.resource.ImageDescriptor; >+import org.eclipse.jface.util.IPropertyChangeListener; >+import org.eclipse.jface.util.PropertyChangeEvent; > import org.eclipse.swt.widgets.Control; > import org.eclipse.swt.widgets.Menu; > import org.eclipse.ui.IActionDelegate; >@@ -475,6 +477,38 @@ > item.setType(ItemType.PUSH); > } else if (IWorkbenchRegistryConstants.STYLE_TOGGLE.equals(style)) { > item.setType(ItemType.CHECK); >+ IContextFunction generator = new ContextFunction() { >+ @Override >+ public Object compute(IEclipseContext context) { >+ IWorkbenchWindow window = context.get(IWorkbenchWindow.class); >+ if (window == null) { >+ return null; >+ } >+ ActionDescriptor desc = new ActionDescriptor(element, >+ ActionDescriptor.T_WORKBENCH, window); >+ final PluginAction action = desc.getAction(); >+ final MHandledToolItem copiedToolItem = (MHandledToolItem) context >+ .get("copiedItemModel"); //$NON-NLS-1$ >+ action.addPropertyChangeListener(new IPropertyChangeListener() { >+ >+ public void propertyChange(PropertyChangeEvent event) { >+ if (event.getProperty().equals("checked")) { //$NON-NLS-1$ >+ Boolean checkedValue = (Boolean) event.getNewValue(); >+ copiedToolItem.setSelected(checkedValue); >+ } >+ } >+ }); >+ return new ActionContributionItem(action) { >+ @Override >+ public void dispose() { >+ super.dispose(); >+ action.disposeDelegate(); >+ } >+ }; >+ } >+ }; >+ item.setContributionItem(generator); >+ // return item; > } else if (IWorkbenchRegistryConstants.STYLE_RADIO.equals(style)) { > item.setType(ItemType.RADIO); > } else if (IWorkbenchRegistryConstants.STYLE_PULLDOWN.equals(style)) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
pwebster
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 325768
:
196446
|
196801