/** * Adds a property change listener to this preference object. * Has no effect if the identical listener is already registered. * <p> * <em>Note:</em> Depending on the means in which the property * values changed, the old and new values for the property can * be either typed, a string representation of the value, or <code>null</code>. * Clients who wish to behave properly in all cases should all * three cases in their implementation of the property change listener. * </p> * @param listener a property change listener */ public void addPropertyChangeListener(IPropertyChangeListener listener) { listeners.add(listener); }
/** * Removes the given listener from this preference object. * Has no effect if the listener is not registered. * * @param listener a property change listener */ @Override public synchronized void removePropertyChangeListener(IPropertyChangeListener listener) { listeners.remove(listener); if (listeners.size() == 0) { EclipsePreferences prefs = getPluginPreferences(false); if (prefs != null) { prefs.removePreferenceChangeListener(this); } pluginRoot.removeNodeChangeListener(this); } }
@Override protected IStatus run(IProgressMonitor monitor) { PerformanceStats[] events; PerformanceStats[] failedEvents; Long[] failedTimes; synchronized (this) { events = changes.toArray(new PerformanceStats[changes.size()]); changes.clear(); failedEvents = failures.keySet().toArray(new PerformanceStats[failures.size()]); failedTimes = failures.values().toArray(new Long[failures.size()]); failures.clear(); } //notify performance listeners Object[] toNotify = listeners.getListeners(); for (int i = 0; i < toNotify.length; i++) { final PerformanceStats.PerformanceListener listener = ((PerformanceStats.PerformanceListener) toNotify[i]); if (events.length > 0) listener.eventsOccurred(events); for (int j = 0; j < failedEvents.length; j++) listener.eventFailed(failedEvents[j], failedTimes[j].longValue()); } schedule(SCHEDULE_DELAY); return Status.OK_STATUS; }
/** * Adds a property change listener to this preference object. * Has no effect if the identical listener is already registered. * * @param listener a property change listener */ @Override public synchronized void addPropertyChangeListener(IPropertyChangeListener listener) { if (listeners.size() == 0) { EclipsePreferences prefs = getPluginPreferences(false); if (prefs != null) { prefs.addPreferenceChangeListener(this); } pluginRoot.addNodeChangeListener(this); } listeners.add(listener); }
/** * @see IBuffer */ @Override public synchronized void addBufferChangedListener(IBufferChangedListener listener) { if (this.changeListeners == null) { this.changeListeners = new ListenerList(); } this.changeListeners.add(listener); } /**
/** * Removes the given listener from this preference object. * Has no effect if the listener is not registered. * * @param listener a property change listener */ public void removePropertyChangeListener(IPropertyChangeListener listener) { listeners.remove(listener); }
public void addMessageHyperlinkListener(IHyperlinkListener listener) { if (listeners == null) listeners = new ListenerList<>(); listeners.add(listener); ensureControlExists(); if (messageHyperlink != null) messageHyperlink.addHyperlinkListener(listener); if (listeners.size() == 1) updateForeground(); }
private boolean containsListener(ICompareInputChangeListener listener) { if (listeners.isEmpty()) return false; Object[] allListeners = listeners.getListeners(); for (int i = 0; i < allListeners.length; i++) { Object object = allListeners[i]; if (object == listener) return true; } return false; }
/** * Adds a listener for problem marker changes. * @param listener the listener to add */ public void addListener(IProblemChangedListener listener) { if (fListeners.isEmpty()) { JavaPlugin.getWorkspace().addResourceChangeListener(this); JavaPlugin.getDefault().getCompilationUnitDocumentProvider().addGlobalAnnotationModelListener(this); } fListeners.add(listener); }
@Override public void labelProviderChanged(LabelProviderChangedEvent event) { Object[] l = super.listeners.getListeners(); for (int i = 0; i < super.listeners.size(); i++) { ((ILabelProviderListener) l[i]).labelProviderChanged(event); } } }
/** * Create a new SimpleSelectionProvider */ public SimpleSelectionProvider() { fSelectionChangedListeners= new ListenerList<>(); }
/** * Returns true if there are any listeners */ public boolean hasListeners() { return !listeners.isEmpty(); }
public synchronized void added(IEclipsePreferences.NodeChangeEvent event) { if (listeners.size() > 0 && pluginID.equals(event.getChild().name())) { try { EclipsePreferences prefs = (EclipsePreferences) event.getChild(); prefs.addPreferenceChangeListener(this); } catch (ClassCastException e) { throw new RuntimeException("Plug-in preferences must be instances of EclipsePreferences: " + e.getMessage()); //$NON-NLS-1$ } } }
@Override public void addPropertyChangeListener(IPropertyChangeListener listener) { if (listenerList == null) { listenerList = new ListenerList<>(ListenerList.IDENTITY); } listenerList.add(listener); }
public static void removeListener(PerformanceListener listener) { instance.listeners.remove(listener); }
private boolean containsListener(ICompareInputChangeListener listener) { if (listeners.isEmpty()) return false; Object[] allListeners = listeners.getListeners(); for (int i = 0; i < allListeners.length; i++) { Object object = allListeners[i]; if (object == listener) return true; } return false; }
/** * Constructor */ public JDBCProfileTabs() { this.changeListeners = new ListenerList(); }