/** * Adds a document window listener for any document type. * * @param listener The listener. */ public final void addListener(Listener listener) { //noinspection unchecked addListener(Predicate.any(), listener); }
public PixelPosStatusLineElementProvider() { DocumentWindowManager.getDefault().addListener(DocumentWindowManager.Predicate.view(ProductSceneView.class), this); SnapApp.getDefault().getPreferences().addPreferenceChangeListener(this); updateSettings(); pixelPosLabel = new JLabel(); pixelPosLabel.setPreferredSize(new Dimension(120, 20)); pixelPosLabel.setHorizontalAlignment(SwingConstants.CENTER); geoPosLabel = new JLabel(); geoPosLabel.setPreferredSize(new Dimension(200, 20)); geoPosLabel.setHorizontalAlignment(SwingConstants.CENTER); zoomLevelLabel = new JLabel(); zoomLevelLabel.setPreferredSize(new Dimension(150, 20)); zoomLevelLabel.setHorizontalAlignment(SwingConstants.CENTER); panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.LINE_AXIS)); panel.add(Box.createHorizontalGlue()); panel.add(new JSeparator(SwingConstants.VERTICAL)); panel.add(pixelPosLabel); panel.add(new JSeparator(SwingConstants.VERTICAL)); panel.add(geoPosLabel); panel.add(new JSeparator(SwingConstants.VERTICAL)); panel.add(zoomLevelLabel); }
@Override public void preferenceChange(PreferenceChangeEvent evt) { if (PROPERTY_KEY_AUTO_SYNC_CURSORS.equals(evt.getKey())) { if (isActive()) { initPsvOverlayMap(); DocumentWindowManager.getDefault().addListener(SCENE_VIEW_PREDICATE, psvOverlayMapUpdater); } else { DocumentWindowManager.getDefault().removeListener(SCENE_VIEW_PREDICATE, psvOverlayMapUpdater); clearPsvOverlayMap(); } } }