private AnnotationsHolder(DataObject file, EditorCookie.Observable ec) { this.file = file; this.ec = ec; Logger.getLogger("TIMER").log(Level.FINE, "Overridden AnnotationsHolder", new Object[] {file.getPrimaryFile(), this}); //NOI18N task = new RequestProcessor("C/C++ Annotations Holder", 1).create(this); //NOI18N ec.addPropertyChangeListener(this); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { checkForReset(); } }); }
@Override public void propertyChange( PropertyChangeEvent evt ) { if (EditorCookie.Observable.PROP_OPENED_PANES.endsWith(evt.getPropertyName()) || evt.getPropertyName() == null) { if (myObservable.getOpenedPanes() == null) { myObservable.removePropertyChangeListener(this); Runnable runnable = new Runnable() { @Override public void run() { HELPERS.remove(myDataObject); List<CDIAnnotation> annotations = myModelAnnotations.get(); for (CDIAnnotation annotation : annotations) { annotation.detach(); } annotations = myAnnotations.get(); for( CDIAnnotation annotation : annotations ){ annotation.detach(); } myModelAnnotations.set( Collections.<CDIAnnotation>emptyList()); myAnnotations.set( Collections.<CDIAnnotation>emptyList()); } }; PROCESSOR.submit(runnable); } } }
o.addPropertyChangeListener(l); pane = NbDocument.findRecentEditorPane(cookie); if(pane != null) { hasEditorPanes = true; o.removePropertyChangeListener(l);
final EditorCookie editorCookie = getDataObject().getCookie(EditorCookie.class); if (editorCookie instanceof EditorCookie.Observable) { ((EditorCookie.Observable)editorCookie).addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (EditorCookie.Observable.PROP_OPENED_PANES.equals(evt.getPropertyName())) {
@Override public void setModel (DiffNode[] nodes, EditorCookie[] editorCookies, Object modelData) { this.editorCookies = editorCookies; tableModel.setNodes(this.nodes = nodes); changeListener = new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent e) { Object source = e.getSource(); String propertyName = e.getPropertyName(); if (EditorCookie.Observable.PROP_MODIFIED.equals(propertyName) && (source instanceof EditorCookie.Observable)) { statusModifiedChanged((EditorCookie.Observable) source); } } }; for (EditorCookie editorCookie : this.editorCookies) { if (editorCookie instanceof EditorCookie.Observable) { ((EditorCookie.Observable) editorCookie).addPropertyChangeListener(WeakListeners.propertyChange(changeListener, editorCookie)); } } }
public void run() { ec2.edit(); JEditorPane[] panes = ec.getOpenedPanes(); if (panes != null && panes.length > 0) { openPane(panes[0], navCase); //ec.open(); } else { ec.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (EditorCookie.Observable.PROP_OPENED_PANES.equals(evt.getPropertyName())) { final JEditorPane[] panes = ec.getOpenedPanes(); if (panes != null && panes.length > 0) { openPane(panes[0], navCase); } ec.removePropertyChangeListener(this); } } }); ec.open(); } } });
private void checkForReset() { assert SwingUtilities.isEventDispatchThread(); if (ec.getOpenedPanes() == null) { //reset: AnnotationsHolder remove; synchronized (file2holders) { remove = file2holders.remove(file); cancelled.set(true); } ec.removePropertyChangeListener(this); if (remove != null) { task.schedule(0); } } else { cancelled.set(false); } }
private EditorCookie currentEditorCookie() { EditorCookie newCurrent = computeCurrentEditorCookie(); if (currentEditor != newCurrent) { // re-register a property change listener to the new editor if ((currentEditor != null) && (currentEditor instanceof EditorCookie.Observable)) { ((EditorCookie.Observable)currentEditor).removePropertyChangeListener(this); } if ((newCurrent != null) && (newCurrent instanceof EditorCookie.Observable)) { ((EditorCookie.Observable)newCurrent).addPropertyChangeListener(this); } // remember the new editor currentEditor = newCurrent; } return currentEditor; }
@Override public void run() { JumpList.checkAddEntry(); JEditorPane pane = findRecentEditorPaneInEQ(ec); if (pane != null) { //editor already opened, so just select selectElementInPane(pane, element, false); } else { PropertyChangeListenerImpl l = new PropertyChangeListenerImpl(ec, element); // editor not yet opened, attach listener and open from there ec.addPropertyChangeListener(l); ec.open(); // run anyway, ec might be redirected into already opened pane for symlinked file l.run(); } }
public void run() { JumpList.checkAddEntry(); JEditorPane pane = NbDocument.findRecentEditorPane(ec); boolean opened = true; if (pane == null) { ec.open(); opened = false; JEditorPane[] panes = ec.getOpenedPanes(); pane = panes != null && panes.length > 0? panes[0] : null ; } if (pane != null){ jumpToLine(pane, lineInfo, !opened); } } });
public DocListener (EditorCookie.Observable ec) { assert ec != null; this.ec = ec; this.ec.addPropertyChangeListener(WeakListeners.propertyChange(this, this.ec)); Document doc = ec.getDocument(); if (doc != null) { doc.addDocumentListener(docListener = WeakListeners.create(DocumentListener.class, this, doc)); if (possiblyIncremental) { TokenHierarchy th = TokenHierarchy.get(doc); th.addTokenHierarchyListener(lexListener = WeakListeners.create(TokenHierarchyListener.class, this,th)); } } }
public static void clearIfNeed(DataObject dao) { AnnotationsHolder holder; synchronized (file2holders) { holder = file2holders.remove(dao); if (holder != null) { holder.cancelled.set(true); } } if (holder != null) { holder.ec.removePropertyChangeListener(holder); holder.task.schedule(0); } }
@SuppressWarnings("LeakingThisInConstructor") public DocListener (final EditorCookie.Observable ec) { assert ec != null; this.ec = ec; this.ec.addPropertyChangeListener(WeakListeners.propertyChange(this, this.ec)); final Source source = getSourceControl().getSource(); assert source != null; final Document doc = source.getDocument(false); if (doc != null) { assignDocumentListener(doc); } }
public void propertyChange(PropertyChangeEvent evt) { if (EditorCookie.Observable.PROP_OPENED_PANES.equals(evt.getPropertyName())) { if (editorCookie.getOpenedPanes() == null) { opened = false; ((EditorCookie.Observable)editorCookie).removePropertyChangeListener(this); } } } });
private EditorAnnotationsHelper( DataObject dataObject , EditorCookie.Observable observable ) { myDataObject = dataObject; myObservable = observable; myModelAnnotations = new AtomicReference<List<CDIAnnotation>>( Collections.<CDIAnnotation>emptyList()); myAnnotations = new AtomicReference<List<CDIAnnotation>>( Collections.<CDIAnnotation>emptyList()); observable.addPropertyChangeListener(this ); }
@Override public void close () { if (start) { // not yet initialized return; } EditorCookie.Observable ec = getEditableCookie(remoteFile); if (ec != null && ec.getOpenedPanes() == null && !ec.isModified()) { ec.close(); } super.close(); }
private void attachListeners(FileObject fo) { if (fo.isValid() && fo.canWrite()) { DataObject dob = getDataObjectImpl(fo); if (dob != null) { Observable observable = dob.getLookup().lookup(EditorCookie.Observable.class); if (observable != null) { observable.addPropertyChangeListener(this); } } } }
EditorCookie.Observable cookie = dataObject.getLookup().lookup(EditorCookie.Observable.class); cookie.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { // Do your stuff } });