blob: 5d7f87f5baedc40d4648cadd1c2325e4aee758f4 [file] [log] [blame]
package org.eclipse.update.ui.forms.internal;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;
public class FormButton {
private Button button;
private Image image;
private FormWidgetFactory factory;
private Image hoverImage;
private boolean inside;
private Image disabledImage;
public FormButton(Button button, FormWidgetFactory factory) {
this.button = button;
this.factory = factory;
button.addMouseTrackListener(new MouseTrackAdapter() {
public void mouseEnter(MouseEvent e) {
inside=true;
updateImage();
}
public void mouseExit(MouseEvent e) {
inside=false;
updateImage();
}
});
}
public Button getButton() {
return button;
}
public Image getDisabledImage() {
return disabledImage;
}
public Image getHoverImage() {
return hoverImage;
}
public Image getImage() {
return image;
}
public void setDisabledImage(Image newDisabledImage) {
disabledImage = newDisabledImage;
}
public void setEnabled(boolean enabled) {
button.setEnabled(enabled);
updateImage();
}
public void setHoverImage(Image newHoverImage) {
hoverImage = newHoverImage;
}
public void setImage(Image newImage) {
image = newImage;
if (hoverImage==null) hoverImage = image;
if (disabledImage==null) disabledImage = image;
updateImage();
}
public void updateImage() {
boolean enabled = button.isEnabled();
if (enabled == false) {
button.setImage(disabledImage);
} else {
if (inside) {
button.setCursor(factory.getHyperlinkCursor());
button.setImage(hoverImage);
} else {
button.setCursor(null);
button.setImage(image);
}
}
}
}