blob: 7a41b5b15e1f4038c4482e46b3ae7db7c17444bb [file] [log] [blame]
/*
* 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);
}
}