view src/samer/core_/util/heavy/ButtonBar.java @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
line wrap: on
line source
/*
 *	ButtonBar.java	
 *
 *	Copyright (c) 2000, Samer Abdallah, King's College London.
 *	All rights reserved.
 *
 *	This software is provided AS iS and WITHOUT ANY WARRANTY; 
 *	without even the implied warranty of MERCHANTABILITY or 
 *	FITNESS FOR A PARTICULAR PURPOSE.
 */

package samer.core.util.heavy;
import  samer.core.util.*;
import  samer.core.*;
import  java.awt.*;
import  java.awt.event.*;

/**
	Displays Agent commands as push button in a container.
  */

public class ButtonBar implements Agent.Registry 
{
	public ButtonBar(Container p) { panel=p; }
	public ButtonBar() {
		this(new JPanel(Border.create(Border.NONE)));
		panel.setLayout( new FlowLayout(FlowLayout.LEFT,6,2));
	}


	public Agent.Registry add(String l) 
	{ 
		Button b = new Button(l);
		b.addActionListener(handler);
		panel.add(b);
		return this;
	}

	public Agent.Registry add(String l, boolean state) { return add(l); }

	public Container container() { return panel; }
	public void setBroadcaster(ActionListener b) { broadcaster=b; }
	public void setTarget(Agent a) { 
		if (a!=null) handler=new AgentAdapter(a); 
		else handler=broadcaster;
		group();
	}

	public void group() {}

	private	Container		panel;
	private ActionListener	handler;
	private ActionListener	broadcaster;
}