use of net.sourceforge.nattable.layer.event.ILayerEvent in project translationstudio8 by heartsome.
the class ColumnGroupExpandCollapseCommandHandler method doCommand.
@Override
protected boolean doCommand(ColumnGroupExpandCollapseCommand command) {
int columnIndex = columnGroupExpandCollapseLayer.getColumnIndexByPosition(command.getColumnPosition());
ColumnGroupModel model = columnGroupExpandCollapseLayer.getModel();
boolean wasCollapsed = model.isCollapsed(columnIndex);
ColumnGroup columnGroup = model.toggleColumnGroupExpandCollapse(columnIndex);
List<Integer> columnPositions = new ArrayList<Integer>(columnGroup.getMembers());
columnPositions.remove(0);
ILayerEvent event;
if (wasCollapsed) {
event = new ShowColumnPositionsEvent(columnGroupExpandCollapseLayer, columnPositions);
} else {
event = new HideColumnPositionsEvent(columnGroupExpandCollapseLayer, columnPositions);
}
columnGroupExpandCollapseLayer.fireLayerEvent(event);
return true;
}
use of net.sourceforge.nattable.layer.event.ILayerEvent in project translationstudio8 by heartsome.
the class AbstractLayer method fireLayerEvent.
/**
* Pass the event to all the {@link ILayerListener} registered on this layer.
* A cloned copy is passed to each listener.
*/
public void fireLayerEvent(ILayerEvent event) {
if (listeners.size() > 0) {
Iterator<ILayerListener> it = listeners.iterator();
boolean isLastListener = false;
do {
ILayerListener l = it.next();
// Lookahead
isLastListener = !it.hasNext();
// Fire cloned event to first n-1 listeners; fire original event to last listener
ILayerEvent eventToFire = isLastListener ? event : event.cloneEvent();
// System.out.println("eventToFire="+eventToFire);
l.handleLayerEvent(eventToFire);
} while (!isLastListener);
}
}
Aggregations