/******************************************************************************* | |
* Copyright (c) 2000, 2003 IBM Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Common Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/cpl-v10.html | |
* | |
* Contributors: | |
* IBM Corporation - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.update.ui.forms.internal; | |
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); | |
} | |
} | |
} | |
} |