package com.dgex.offspring.application.parts; import javax.annotation.PostConstruct; import javax.inject.Inject; import nxt.peer.Peer; import org.eclipse.e4.core.di.annotations.Optional; import org.eclipse.e4.ui.di.Focus; import org.eclipse.e4.ui.di.UIEventTopic; import org.eclipse.swt.widgets.Composite; import com.dgex.offspring.application.ui.peers.PeerTable; import com.dgex.offspring.application.ui.peers.PeerTableViewer; import com.dgex.offspring.nxtCore.service.INxtService; public class KnownPeersPart { private PeerTableViewer peerTableViewer; @PostConstruct public void postConstruct(Composite parent, INxtService nxt) { peerTableViewer = new PeerTableViewer(parent, nxt, PeerTable.TYPE_KNOWN_PEERS); } @Focus public void onFocus() { peerTableViewer.getControl().setFocus(); } @Inject @Optional private void onPeerEvent(@UIEventTopic(INxtService.TOPIC_PEER) Peer peer) { if (peer.isWellKnown() && peerTableViewer != null && !peerTableViewer.getControl().isDisposed()) { peerTableViewer.refresh(); } } }