Mercurial > hg > jslab
view src/samer/core_/viewers/swing/BooleanViewer.java @ 5:b67a33c44de7
Remove some crap, etc
author | samer |
---|---|
date | Fri, 05 Apr 2019 21:34:25 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
/* * BooleanViewer.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.viewers.swing; import samer.core.types.*; import samer.core.util.*; import samer.core.*; import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BooleanViewer extends VariableViewer implements ItemListener { VBoolean vbool; JCheckBox cb; public BooleanViewer(Viewable v) { this((VBoolean)v); } public BooleanViewer(VBoolean vbool) { super(vbool); this.vbool = vbool; setLayout( new BoxLayout(panel(),BoxLayout.X_AXIS)); setText(null); cb = new JCheckBox(vbool.getLabel()); cb.setFocusPainted(false); cb.setMargin(new Insets(0,0,0,0)); cb.addItemListener(this); setImageIcons( Shell.getString("boolean.iconDirectory", System.getProperty("user.home",".")+"/buttons")); add(cb); add(Box.createHorizontalGlue()); update(null,null); } private void setImageIcons(String dirname) { File dir=new File(dirname); if (dir.isDirectory()) { Shell.trace("loading icons from "+dir); cb.setIcon(new ImageIcon(new File(dir,"rb.gif").getPath())); cb.setPressedIcon(new ImageIcon(new File(dir,"rbr.gif").getPath())); cb.setRolloverIcon(new ImageIcon(new File(dir,"rbp.gif").getPath())); cb.setRolloverSelectedIcon(new ImageIcon(new File(dir,"rbrs.gif").getPath())); cb.setSelectedIcon(new ImageIcon(new File(dir,"rbs.gif").getPath())); } } public void update(Observable o, Object source) // &&& { if (source!=this) cb.setSelected(vbool.value); super.update(o,source); } public void itemStateChanged(ItemEvent e) { vbool.value = (e.getStateChange()==ItemEvent.SELECTED); vbool.changed(this); } }