blob: f294a37ab655e1edd1bfbc9ade3ef1fe47aa835a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 Laurent CARON
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Laurent CARON (laurent.caron at gmail dot com) - initial API and implementation
*******************************************************************************/
package org.mihalis.opal.itemSelector;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.mihalis.opal.OpalItem;
/**
* Instances of this class represents items manipulated by this DualList widget.
*/
public class DLItem extends OpalItem {
/**
* The Enum LAST_ACTION.
*/
public enum LAST_ACTION {
/** The none. */
NONE,
/** The selection. */
SELECTION,
/** The deselection. */
DESELECTION
};
/** The last action. */
private LAST_ACTION lastAction;
/**
* Constructor.
*
* @param text the text displayed in the DualList widget for this item
*/
public DLItem(final String text) {
this(text, null);
}
/**
* Constructor.
*
* @param text the text displayed in the DualList widget for this item
* @param image the image displayed in the DualList widget for this item
*/
public DLItem(final String text, final Image image) {
this(text, image, (Font) null, (Color) null);
}
/**
* Constructor.
*
* @param text the text displayed in the DualList widget for this item
* @param image the image displayed in the DualList widget for this item
* @param font the font displayed in the DualList widget for this item
* @param foregroundColor the foreground color displayed in the DualList
* widget for this item
*/
public DLItem(final String text, final Image image, final Font font, final Color foregroundColor) {
this.setText(text);
this.setImage(image);
this.setFont(font);
this.setForeground(foregroundColor);
this.lastAction = LAST_ACTION.NONE;
}
/**
* Constructor.
*
* @param text the text displayed in the DualList widget for this item
* @param image the image displayed in the DualList widget for this item
* @param foregroundColor the foreground color displayed in the DualList
* widget for this item
* @param backgroundColor the background color displayed in the DualList
* widget for this item
*/
public DLItem(final String text, final Image image, final Color foregroundColor, final Color backgroundColor) {
this.setText(text);
this.setImage(image);
this.setForeground(foregroundColor);
this.setBackground(backgroundColor);
this.lastAction = LAST_ACTION.NONE;
}
/**
* Constructor.
*
* @param text the text displayed in the DualList widget for this item
* @param image the image displayed in the DualList widget for this item
* @param font the font displayed in the DualList widget for this item
*/
public DLItem(final String text, final Image image, final Font font) {
this(text, image, font, null);
}
/**
* Gets the height.
*
* @return the height
* @see org.mihalis.opal.OpalItem#getHeight()
*/
@Override
public int getHeight() {
throw new UnsupportedOperationException("DLItem does not support this method");
}
/**
* Sets the height.
*
* @param height the new height
* @see org.mihalis.opal.OpalItem#setHeight(int)
*/
@Override
public void setHeight(final int height) {
throw new UnsupportedOperationException("DLItem does not support this method");
}
/**
* Gets the last action.
*
* @return the last action (NONE, SELECTION, DESELECTION)
*/
public LAST_ACTION getLastAction() {
return this.lastAction;
}
/**
* Sets the last action.
*
* @param lastAction the last action performed on this DLItem
*/
public void setLastAction(final LAST_ACTION lastAction) {
this.lastAction = lastAction;
}
}