/*
 * @topic T11344 Spring 2016 Inheritance Demo
 * @brief Basic behavior of abstract GUI component
*/
package inheritance_demo;

public abstract class Gadget extends Component
{
    //--------------------------------------
    // data attributes
    //--------------------------------------
    protected boolean visible = true;
    protected boolean enabled = true;

    //--------------------------------------
    // constructors
    //--------------------------------------
    public Gadget(int width, int height)
    {
        super( 0, 0, width, height );
    }
    
    public Gadget(int topx, int topy, int width, int height)
    {
        super( topx, topy, width, height );
    }
    
    //--------------------------------------
    // abstract operations
    //--------------------------------------
    abstract public void show();
    abstract public void hide();

    abstract public void disable();
    abstract public void enable();

}//class Gadget