/* * @(#)AtomicControl.java 1.2 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media.controls; import javax.media.*; import com.sun.media.*; /** * Some stuff that could be common to all controls. ??? */ public interface AtomicControl extends Control { /** * Returns true if this control is available on the default control * panel returned for the player in question. */ public boolean isDefault(); /** * Specify whether this control should be available on the control panel. * ??? */ public void setVisible(boolean visible); /** * Returns true if this control is available on the control panel. ??? */ public boolean getVisible(); /** * Set the enabled/disabled state of the control. Can be useful to * temporarily gray out a control due to some constraints. */ public void setEnabled(boolean enabled); /** * Returns the enabled/disabled state of the control. */ public boolean getEnabled(); /** * Returns the control group to which this control belongs, if any. Otherwise * it returns null. */ public Control getParent(); /** * Adds a listener that should be informed if any state of this control * changes. */ public void addControlChangeListener(ControlChangeListener ccl); /** * Remove an already added listener. Does nothing if the listener was not * previously added. */ public void removeControlChangeListener(ControlChangeListener ccl); /** * Returns true if the control is a read-only control and no value can * be set on it. For example, progress controls that display status * information will mostly be read-only. */ public boolean isReadOnly(); /** * <B> Sun specific - </B> Returns the description string for this control. */ public String getTip(); /** * <B> Sun specific - </B> * Sets the description string for this control. Should be short since it * will be displayed as a tool tip when the mouse hovers over the control * for a few seconds. */ public void setTip(String tip); }