diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DelegatingAction.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DelegatingAction.java | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DelegatingAction.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DelegatingAction.java new file mode 100644 index 000000000..7a41b5b15 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DelegatingAction.java @@ -0,0 +1,203 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Eclipse Public License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.eclipse.org/org/documents/epl-v10.php + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.ide.eclipse.adt.internal.editors.layout.gle2; + +import com.android.annotations.NonNull; + +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.swt.events.HelpListener; +import org.eclipse.swt.widgets.Event; + +/** + * Implementation of {@link IAction} which delegates to a different + * {@link IAction} which allows a subclass to wrap and customize some of the + * behavior of a different action + */ +public class DelegatingAction implements IAction { + private final IAction mAction; + + /** + * Construct a new delegate of the given action + * + * @param action the action to be delegated + */ + public DelegatingAction(@NonNull IAction action) { + mAction = action; + } + + @Override + public void addPropertyChangeListener(IPropertyChangeListener listener) { + mAction.addPropertyChangeListener(listener); + } + + @Override + public int getAccelerator() { + return mAction.getAccelerator(); + } + + @Override + public String getActionDefinitionId() { + return mAction.getActionDefinitionId(); + } + + @Override + public String getDescription() { + return mAction.getDescription(); + } + + @Override + public ImageDescriptor getDisabledImageDescriptor() { + return mAction.getDisabledImageDescriptor(); + } + + @Override + public HelpListener getHelpListener() { + return mAction.getHelpListener(); + } + + @Override + public ImageDescriptor getHoverImageDescriptor() { + return mAction.getHoverImageDescriptor(); + } + + @Override + public String getId() { + return mAction.getId(); + } + + @Override + public ImageDescriptor getImageDescriptor() { + return mAction.getImageDescriptor(); + } + + @Override + public IMenuCreator getMenuCreator() { + return mAction.getMenuCreator(); + } + + @Override + public int getStyle() { + return mAction.getStyle(); + } + + @Override + public String getText() { + return mAction.getText(); + } + + @Override + public String getToolTipText() { + return mAction.getToolTipText(); + } + + @Override + public boolean isChecked() { + return mAction.isChecked(); + } + + @Override + public boolean isEnabled() { + return mAction.isEnabled(); + } + + @Override + public boolean isHandled() { + return mAction.isHandled(); + } + + @Override + public void removePropertyChangeListener(IPropertyChangeListener listener) { + mAction.removePropertyChangeListener(listener); + } + + @Override + public void run() { + mAction.run(); + } + + @Override + public void runWithEvent(Event event) { + mAction.runWithEvent(event); + } + + @Override + public void setActionDefinitionId(String id) { + mAction.setActionDefinitionId(id); + } + + @Override + public void setChecked(boolean checked) { + mAction.setChecked(checked); + } + + @Override + public void setDescription(String text) { + mAction.setDescription(text); + } + + @Override + public void setDisabledImageDescriptor(ImageDescriptor newImage) { + mAction.setDisabledImageDescriptor(newImage); + } + + @Override + public void setEnabled(boolean enabled) { + mAction.setEnabled(enabled); + } + + @Override + public void setHelpListener(HelpListener listener) { + mAction.setHelpListener(listener); + } + + @Override + public void setHoverImageDescriptor(ImageDescriptor newImage) { + mAction.setHoverImageDescriptor(newImage); + } + + @Override + public void setId(String id) { + mAction.setId(id); + } + + @Override + public void setImageDescriptor(ImageDescriptor newImage) { + mAction.setImageDescriptor(newImage); + } + + @Override + public void setMenuCreator(IMenuCreator creator) { + mAction.setMenuCreator(creator); + } + + @Override + public void setText(String text) { + mAction.setText(text); + } + + @Override + public void setToolTipText(String text) { + mAction.setToolTipText(text); + } + + @Override + public void setAccelerator(int keycode) { + mAction.setAccelerator(keycode); + } +} |