samer@0: /* samer@0: * ButtonBar.java samer@0: * samer@0: * Copyright (c) 2000, Samer Abdallah, King's College London. samer@0: * All rights reserved. samer@0: * samer@0: * This software is provided AS iS and WITHOUT ANY WARRANTY; samer@0: * without even the implied warranty of MERCHANTABILITY or samer@0: * FITNESS FOR A PARTICULAR PURPOSE. samer@0: */ samer@0: samer@0: package samer.core.util.heavy; samer@0: import samer.core.util.*; samer@0: import samer.core.*; samer@0: import java.awt.*; samer@0: import java.awt.event.*; samer@0: samer@0: /** samer@0: Displays Agent commands as push button in a container. samer@0: */ samer@0: samer@0: public class ButtonBar implements Agent.Registry samer@0: { samer@0: public ButtonBar(Container p) { panel=p; } samer@0: public ButtonBar() { samer@0: this(new JPanel(Border.create(Border.NONE))); samer@0: panel.setLayout( new FlowLayout(FlowLayout.LEFT,6,2)); samer@0: } samer@0: samer@0: samer@0: public Agent.Registry add(String l) samer@0: { samer@0: Button b = new Button(l); samer@0: b.addActionListener(handler); samer@0: panel.add(b); samer@0: return this; samer@0: } samer@0: samer@0: public Agent.Registry add(String l, boolean state) { return add(l); } samer@0: samer@0: public Container container() { return panel; } samer@0: public void setBroadcaster(ActionListener b) { broadcaster=b; } samer@0: public void setTarget(Agent a) { samer@0: if (a!=null) handler=new AgentAdapter(a); samer@0: else handler=broadcaster; samer@0: group(); samer@0: } samer@0: samer@0: public void group() {} samer@0: samer@0: private Container panel; samer@0: private ActionListener handler; samer@0: private ActionListener broadcaster; samer@0: } samer@0: