view game/IDMContainer.java @ 51:f81f76458b92

Work on widgets.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 23 Feb 2011 02:49:07 +0200
parents 496e616ff09d
children b586ce4f6d97
line wrap: on
line source

/*
 * Ristipolku IDM widget container
 * (C) Copyright 2011 Matti 'ccr' Hämäläinen <ccr@tnsp.org>
 */
package game;

import java.awt.*;
import java.awt.event.*;
import java.util.*;


public class IDMContainer extends IDMWidget
{
    ArrayList<IDMWidget> widgets;

    public IDMContainer()
    {
        widgets = new ArrayList<IDMWidget>();
    }
    
    public void add(IDMWidget widget)
    {
        widgets.add(widget);
    }
    
    public void paint(Graphics2D g)
    {
        for (IDMWidget widget : widgets)
            widget.paint(g);
    }
    
    public void mousePressed(MouseEvent e)
    {
        for (IDMWidget widget : widgets)
        {
            if (widget.contains(e.getPoint()))
                widget.mousePressed(e);
        }
    }

    public void mouseReleased(MouseEvent e)
    {
        for (IDMWidget widget : widgets)
        {
            widget.mouseReleased(e);
        }
    }

    public void mouseExited(MouseEvent e)
    {
        for (IDMWidget widget : widgets)
        {
            widget.mouseExited(e);
        }
    }

    public void mouseEntered(MouseEvent e)
    {
        for (IDMWidget widget : widgets)
        {
            if (widget.contains(e.getPoint()))
                widget.mouseEntered(e);
        }
    }

    public boolean keyPressed(KeyEvent e)
    {
        for (IDMWidget widget : widgets)
        {
            if (widget.keyPressed(e))
                return true;
        }
        return false;
    }

    public void setScale(IDMPoint scale)
    {
        for (IDMWidget widget : widgets)
        {
            widget.setScale(scale);
        }
    }
}