/** Disposes all resources allocated by this library manager. */ public void dispose() { if (preferenceStoreChangeListener != null) { IPreferenceStoreWrapper prefStoreWrapper = LibraryPlugin.getDefault().getPreferenceStore(); if (prefStoreWrapper != null) { prefStoreWrapper.removePropertyChangeListener(preferenceStoreChangeListener); } } if (libraryChangedListeners.size() > 0) { libraryChangedListeners.clear(); } // if (detachedLibraryChangedListeners.size() > 0) { // detachedLibraryChangedListeners.clear(); // } if (resourceChangeListeners.size() > 0) { resourceChangeListeners.clear(); } if (editingDomain != null) { unregisterEditingDomain(editingDomain); editingDomain = null; } library = null; }
public int describe(Reader contents, IContentDescription description) throws IOException { try { final Field documentReaderField = contents.getClass().getDeclaredField("in"); documentReaderField.setAccessible(true); final Object documentReader = documentReaderField.get(contents); final Field fDocumentField = documentReader.getClass().getDeclaredField("fDocument"); fDocumentField.setAccessible(true); final Object fDocument = fDocumentField.get(documentReader); final Field fDocumentListenersField = fDocument .getClass() .getSuperclass() .getSuperclass() .getDeclaredField("fDocumentListeners"); fDocumentListenersField.setAccessible(true); final ListenerList fDocumentListeners = (ListenerList) fDocumentListenersField.get(fDocument); final Object[] listeners = fDocumentListeners.getListeners(); for (Object listener : listeners) { try { final Field fFileField = listener.getClass().getEnclosingClass().getSuperclass().getDeclaredField("fFile"); fFileField.setAccessible(true); // get enclosing instance of listener final Field thisField = listener.getClass().getDeclaredField("this$0"); thisField.setAccessible(true); Object enclosingObject = thisField.get(listener); Object fFile = fFileField.get(enclosingObject); if (fFile instanceof IFile) { IFile file = (IFile) fFile; if (isValidFile(file)) { return VALID; } } } catch (Exception e) { } } } catch (Exception e) { // ignore errors } return INVALID; }
/** Adds a listener for problem marker changes. */ public void addListener(IProblemChangedListener listener) { if (fListeners.isEmpty()) { CUIPlugin.getWorkspace().addResourceChangeListener(this); CUIPlugin.getDefault().getDocumentProvider().addGlobalAnnotationModelListener(this); } fListeners.add(listener); }
/** Removes a <code>IProblemChangedListener</code>. */ public void removeListener(IProblemChangedListener listener) { fListeners.remove(listener); if (fListeners.isEmpty()) { CUIPlugin.getWorkspace().removeResourceChangeListener(this); CUIPlugin.getDefault().getDocumentProvider().removeGlobalAnnotationModelListener(this); } }
private Object[] getListeners() { final ListenerList list = listenerList; if (list == null) { return new Object[0]; } return list.getListeners(); }
/* (non-Javadoc) * @see net.sourceforge.eclipsetrader.ats.core.IMarketManager#addBarListener(net.sourceforge.eclipsetrader.core.db.Security, net.sourceforge.eclipsetrader.ats.core.events.IBarListener) */ public void addBarListener(Security security, IBarListener l) { ListenerList list = (ListenerList) securityBarListeners.get(security); if (list == null) { list = new ListenerList(); securityBarListeners.put(security, list); } list.add(l); }
public void removeContactsListener(IContactsListener listener) { if (parent != null) parent.removeContactsListener(listener); else { if (listeners != null) { listeners.remove(listener); if (listeners.isEmpty()) listeners = null; } } }
@Override public void removeListener(ILabelProviderListener listener) { if (listenerList != null) { listenerList.remove(listener); if (listenerList.isEmpty()) { listenerList = null; } } }
private void fireProblemsChanged(IResource[] changedResources, boolean isMarkerChange) { if (fListeners != null && !fListeners.isEmpty()) { LabelProviderChangedEvent event = new ProblemsLabelChangedEvent(this, changedResources, isMarkerChange); Object[] listeners = fListeners.getListeners(); for (int i = 0; i < listeners.length; i++) { ((ILabelProviderListener) listeners[i]).labelProviderChanged(event); } } }
@Override public void removeListener(ILabelProviderListener listener) { if (fListeners != null) { fListeners.remove(listener); if (fListeners.isEmpty() && fProblemChangedListener != null) { LangUIPlugin.getDefault().getProblemMarkerManager().removeListener(fProblemChangedListener); fProblemChangedListener = null; } } }
protected void fireBarCloseEvent(BarEvent e) { ListenerList list = (ListenerList) securityBarListeners.get(e.security); if (list != null) { Object[] l = list.getListeners(); for (int i = 0; i < l.length; i++) ((IBarListener) l[i]).barClose(e); } Object[] l = barListeners.getListeners(); for (int i = 0; i < l.length; i++) ((IBarListener) l[i]).barClose(e); }
/** * Removes the given help listener from this viewer. Has no effect if an identical listener is not * registered. * * @param listener a help listener */ public void removeHelpListener(HelpListener listener) { helpListeners.remove(listener); if (helpListeners.size() == 0) { Control control = getControl(); if (control != null && !control.isDisposed()) { control.removeHelpListener(this.helpListener); helpHooked = false; } } }
/* (non-Javadoc) * @see IBaseLabelProvider#removeListener(ILabelProviderListener) */ public void removeListener(ILabelProviderListener listener) { if (fListeners != null) { fListeners.remove(listener); if (fListeners.isEmpty() && fProblemChangedListener != null) { // TODO RMF reenable // // JavaPlugin.getDefault().getProblemMarkerManager().removeListener(fProblemChangedListener); fProblemChangedListener = null; } } }
@Override public void addSetPVValueListener(ISetPVValueListener listener) { if (setPVValueListeners == null) { setPVValueListeners = new ListenerList(); } setPVValueListeners.add(listener); }
/** Sends a selection changed event to all listeners. */ public void fireSelectionChanged() { ISelection selection = getSelection(); SelectionChangedEvent event = new SelectionChangedEvent(this, selection); Object[] selectionChangedListeners = fListeners.getListeners(); for (int i = 0; i < selectionChangedListeners.length; i++) ((ISelectionChangedListener) selectionChangedListeners[i]).selectionChanged(event); }
/* * Consult the IOperationApprovers to see if the proposed execution should * be allowed. * * @since 3.2 */ private IStatus getExecuteApproval(IUndoableOperation operation, IAdaptable info) { final Object[] approverArray = approvers.getListeners(); for (int i = 0; i < approverArray.length; i++) { if (approverArray[i] instanceof IOperationApprover2) { IOperationApprover2 approver = (IOperationApprover2) approverArray[i]; IStatus approval = approver.proceedExecuting(operation, this, info); if (!approval.isOK()) { if (DEBUG_OPERATION_HISTORY_APPROVAL) { Tracing.printTrace( "OPERATIONHISTORY", //$NON-NLS-1$ "Execute not approved by " + approver //$NON-NLS-1$ + "for operation " + operation //$NON-NLS-1$ + " with status " + approval); //$NON-NLS-1$ } return approval; } } } return Status.OK_STATUS; }
public void addContactsListener(IContactsListener listener) { if (parent != null) parent.addContactsListener(listener); else { if (listeners == null) listeners = new ListenerList(); listeners.add(listener); } }
public void removeSelectionChangedListener(ISelectionChangedListener listener) { if (getTreeViewer() == null) { selectionChangedListeners.remove(listener); } else { getTreeViewer().removeSelectionChangedListener(listener); } }
/** * Fires a property changed event. * * @param propertyId the id of the changed property */ protected void firePropertyChange(final Object source, final int propertyId) { if (debug) { DebugTrace.print(this, "firePropertyChange", "source=" + source); // $NON-NLS-1$ //$NON-NLS-2$ } Object[] array = resourceChangeListeners.getListeners(); for (int i = 0; i < array.length; i++) { final IPropertyListener listener = (IPropertyListener) array[i]; // This operation will cause an UI update. It must be executed in // the main UI to aoid an Invalid Thread Access exception. SafeUpdateController.asyncExec( new Runnable() { public void run() { if (debug) { DebugTrace.print( this, "firePropertyChange", "listener=" + listener); // $NON-NLS-1$ //$NON-NLS-2$ } listener.propertyChanged(source, propertyId); } }); } }
/** This method is called when the plug-in is stopped */ public void stop(BundleContext context) throws Exception { Object[] listeners = shutdownListeners.getListeners(); for (int i = 0; i < listeners.length; ++i) { ((IShutdownListener) listeners[i]).shutdown(); } shutdownListeners.clear(); super.stop(context); ResourcesPlugin.getWorkspace().removeResourceChangeListener(projectConvertListener); ResourcesPlugin.getWorkspace().removeResourceChangeListener(reindexOperationListener); plugin = null; }
public void reconciled() { // Notify listeners Object[] listeners = fReconcilingListeners.getListeners(); for (int i = 0, length = listeners.length; i < length; ++i) { ((IReconcilingParticipant) listeners[i]).reconciled(); } }
/** * Notify the configuration processor listeners about changes with the configuration state. * * @param attributes A Set of attributes */ protected void notifyListeners(Set<String> attributes) { Object[] processorListeners = listeners.getListeners(); for (Object obj : processorListeners) { ((IConfigurationProcessorListener) obj) .configurationStateChanged(configurationStatus, attributes); } }
public void swapOut() { if (fTestRoot == null) return; if (isRunning() || isStarting() || isKeptAlive()) return; Object[] listeners = fSessionListeners.getListeners(); for (int i = 0; i < listeners.length; ++i) { ITestSessionListener registered = (ITestSessionListener) listeners[i]; if (!registered.acceptsSwapToDisk()) return; } try { File swapFile = getSwapFile(); DLTKTestingModel.exportTestRunSession(this, swapFile); fTestResult = fTestRoot.getTestResult(true); fTestRoot = null; fTestRunnerClient = null; fIdToTest = new HashMap<String, TestElement>(); fCategoryMap = new HashMap<String, TestCategoryElement>(); fIncompleteTestSuites = null; fUnrootedSuite = null; } catch (IllegalStateException e) { DLTKTestingPlugin.log(e); } catch (CoreException e) { DLTKTestingPlugin.log(e); } }
/** Sends out notification that a change has occurred on the <code>ICompareInput</code>. */ protected void fireChange() { if (fListener != null) { Object[] listeners = fListener.getListeners(); for (int i = 0; i < listeners.length; i++) ((ICompareInputChangeListener) listeners[i]).compareInputChanged(this); } }
public void addSelectionChangedListener(ISelectionChangedListener listener) { if (getTreeViewer() == null) { selectionChangedListeners.add(listener); } else { getTreeViewer().addSelectionChangedListener(listener); } }
/** * Notify listeners when a job has changed. * * @param jobId ID of job that has changed * @since 5.0 */ protected void fireJobChanged(String jobId) { IJobChangedEvent e = new JobChangedEvent(getResourceManager(), jobId); for (Object listener : fJobListeners.getListeners()) { ((IJobListener) listener).handleEvent(e); } }
protected void fireSelectionChangedEvent() { SelectionChangedEvent e = new SelectionChangedEvent(this, getSelection()); for (Object listener : selectionChangedListeners.getListeners()) { ISelectionChangedListener l = (ISelectionChangedListener) listener; l.selectionChanged(e); } }
/** This method is called when the plug-in is stopped */ @Override public void stop(BundleContext context) throws Exception { ExecutionContexts.setManager(null); if (fMembersOrderPreferenceCache != null) { fMembersOrderPreferenceCache.dispose(); fMembersOrderPreferenceCache = null; } Object[] listeners = shutdownListeners.getListeners(); for (int i = 0; i < listeners.length; ++i) { ((IShutdownListener) listeners[i]).shutdown(); } shutdownListeners.clear(); super.stop(context); DLTKUIPlugin.plugin = null; }
private void notifyPageChanged() { if (fPageChangeListeners != null && !fPageChangeListeners.isEmpty()) { // Fires the page change event final PageChangedEvent event = new PageChangedEvent(this, getSelectedPage()); Object[] listeners = fPageChangeListeners.getListeners(); for (int i = 0; i < listeners.length; ++i) { final IPageChangedListener l = (IPageChangedListener) listeners[i]; SafeRunner.run( new SafeRunnable() { public void run() { l.pageChanged(event); } }); } } }
/** Informs the target content listeners that check state has changed */ public void contentChanged() { Object[] listeners = fChangeListeners.getListeners(); for (int i = 0; i < listeners.length; i++) { ((ITargetChangedListener) listeners[i]) .contentsChanged(fTargetDefinition, this, false, false); } }