package net.dirtyfilthy.Bitten; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.BoxLayout; import javax.swing.JCheckBox; import javax.swing.JPanel; import com.google.bitcoin.core.Accountable; import com.google.bitcoin.core.GraphTransaction; import com.google.bitcoin.core.WalletIdable; public class TransactionOptionsPanel extends JPanel implements ItemListener { private JCheckBox visIncoming; private JCheckBox visOutgoing; private TransactionTreeTableModel model; private Accountable target; private ControlPanel panel; TransactionOptionsPanel(ControlPanel p, Accountable target, TransactionTreeTableModel model){ this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); this.model=model; this.target=target; this.panel=p; visIncoming=new JCheckBox("Show Incoming"); visOutgoing=new JCheckBox("Show Outgoing"); visIncoming.addItemListener(this); visOutgoing.addItemListener(this); this.add(visIncoming); this.add(visOutgoing); } public void processViz(){ GraphTransaction t=model.transactions().get(0); if(t!=null){ int incoming=t.incomingWallets; int outgoing=t.outgoingWallets; if((incoming+outgoing)<panel.autoViz()){ visIncoming.doClick(); visOutgoing.doClick(); } } } @Override public void itemStateChanged(ItemEvent arg0) { Object source=arg0.getItemSelectable(); int change = arg0.getStateChange(); if(source==visIncoming){ if(change==ItemEvent.DESELECTED){ model.setIncomingVisible(target,false); } if(change==ItemEvent.SELECTED){ model.setIncomingVisible(target,true); } } if(source==visOutgoing){ if(change==ItemEvent.DESELECTED){ model.setOutgoingVisible(target,false); } if(change==ItemEvent.SELECTED){ model.setOutgoingVisible(target,true); } } if(target instanceof WalletIdable){ // panel.getView().panToWallet((WalletIdable) target); } } }