package com.algomagic.atn; import java.util.*; public class PanelUpdate { BatchGraphUpdate _graphUpdate; int _tab; int _side; Collection _evidence; boolean _undo; boolean _raise; boolean _add; boolean _hl; public PanelUpdate( BatchGraphUpdate graphUpdate, int side, int tab, Collection evidence, boolean raise, boolean add, boolean hl ) { _graphUpdate = graphUpdate; _tab = tab; _evidence = evidence; _side = side; _undo = false; _raise = raise; _add = add; _hl = hl; } public void apply( VisualizationPanel visPanel ) { if( _undo ) { _graphUpdate.undo( ); if( _evidence != null && _add ) { visPanel.removeCredentials( _evidence, _tab ); } } else { // if( _raise ) { // visPanel.setRaised( _tab ); // } visPanel.setRaised( _tab ); _graphUpdate.apply( ); if( _evidence != null && _hl ) { visPanel.highlightCredentials( _evidence, _tab ); } if( _evidence != null && _add ) { visPanel.addCredentials( _evidence, _tab ); } // if( _evidence != null && _tab >= 0 ) { // // if( _tab != 0 ) { // // visPanel.addCredentials( _evidence, _tab ); // // } // visPanel.highlightCredentials( _evidence, _tab ); // } } } public void setUndo( boolean undo ) { _undo = undo; } public int getSide( ) { return _side; } public boolean isEmpty( ) { return _graphUpdate.isEmpty( ); } }