static void refreshHack () { Iterator<Document> it = managers.keySet ().iterator (); while (it.hasNext ()) { AbstractDocument document = (AbstractDocument) it.next (); document.readLock (); try { MutableTextInput mti = (MutableTextInput) document.getProperty (MutableTextInput.class); mti.tokenHierarchyControl ().rebuild (); } finally { document.readUnlock (); } // final StyledDocument document = (StyledDocument) it.next (); // NbDocument.runAtomic (document, new Runnable () { // public void run() { // MutableTextInput mti = (MutableTextInput) document.getProperty (MutableTextInput.class); // mti.tokenHierarchyControl ().rebuild (); // } // }); } }
@Override public void run() { BaseDocument bdoc = (BaseDocument) doc; try { if (bdoc != null) { bdoc.extWriteLock(); MutableTextInput mti = (MutableTextInput) bdoc.getProperty(MutableTextInput.class); if (mti != null) { TokenHierarchyControl thc = mti.tokenHierarchyControl(); if (thc != null) { thc.rebuild(); } } } } finally { if (bdoc != null) { bdoc.extWriteUnlock(); } } } });
public void implement() throws Exception { SupportedBrowsers.getInstance().setLanguageVersion(NEW_LANGUAGE_VERSION); // Trigger reparse as well! // Just cause an edit on the document (using an edit list to add and remove // as a single undoable edit) EditList editList = new EditList(context.doc); editList.replace(0, 0, " ", false, 0); // NOI18N editList.replace(0, 1, null, false, 1); editList.apply(); // Also need to redo the lexer MutableTextInput mti = (MutableTextInput) context.doc.getProperty(MutableTextInput.class); if (mti != null) { mti.tokenHierarchyControl().rebuild(); } }
mti.tokenHierarchyControl().setActive(false); start.set(System.currentTimeMillis()); int delta = 0; mti.tokenHierarchyControl().setActive(true);