/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.swt.widgets; import org.eclipse.swt.*; import org.eclipse.swt.graphics.*; /** * This class is the abstract superclass of all non-windowed * user interface objects that occur within specific controls. * For example, a tree will contain tree items. *
*
Styles:
*
(none)
*
Events:
*
(none)
*
*/ public abstract class Item extends Widget { String text; Image image; /** * Constructs a new instance of this class given its parent * and a style value describing its behavior and appearance. * The item is added to the end of the items maintained by its parent. *

* The style value is either one of the style constants defined in * class SWT which is applicable to instances of this * class, or must be built by bitwise OR'ing together * (that is, using the int "|" operator) two or more * of those SWT style constants. The class description * lists the style constants that are applicable to the class. * Style bits are also inherited from superclasses. *

* * @param parent a widget which will be the parent of the new instance (cannot be null) * @param style the style of item to construct * * @exception IllegalArgumentException * @exception SWTException * * @see SWT * @see Widget#getStyle */ public Item (Widget parent, int style) { super (parent, style); text = ""; } /** * Constructs a new instance of this class given its parent * and a style value describing its behavior and appearance, * and the index at which to place it in the items maintained * by its parent. *

* The style value is either one of the style constants defined in * class SWT which is applicable to instances of this * class, or must be built by bitwise OR'ing together * (that is, using the int "|" operator) two or more * of those SWT style constants. The class description * lists the style constants that are applicable to the class. * Style bits are also inherited from superclasses. *

* * @param parent a widget which will be the parent of the new instance (cannot be null) * @param style the style of item to construct * @param index the index at which to store the receiver in its parent * * @exception IllegalArgumentException * @exception SWTException * * @see SWT * @see Widget#getStyle */ public Item (Widget parent, int style, int index) { this (parent, style); } protected void checkSubclass () { /* Do Nothing - Subclassing is allowed */ } /** * Returns the receiver's image if it has one, or null * if it does not. * * @return the receiver's image * * @exception SWTException */ public Image getImage () { checkWidget (); return image; } String getNameText () { return getText (); } /** * Returns the receiver's text, which will be an empty * string if it has never been set. * * @return the receiver's text * * @exception SWTException */ public String getText () { checkWidget(); return text; } void releaseWidget () { super.releaseWidget (); text = null; image = null; } /** * Sets the receiver's image to the argument, which may be * null indicating that no image should be displayed. * * @param image the image to display on the receiver (may be null) * * @exception IllegalArgumentException * @exception SWTException */ public void setImage (Image image) { checkWidget (); if (image != null && image.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); this.image = image; } /** * Sets the receiver's text. * * @param string the new text * * @exception IllegalArgumentException * @exception SWTException */ public void setText (String string) { checkWidget (); if (string == null) error (SWT.ERROR_NULL_ARGUMENT); text = string; } }