Search in sources :

Example 1 with IJFaceNodeAdapterFactory

use of org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapterFactory in project webtools.sourceediting by eclipse.

the class XMLTableTreeContentProvider method inputChanged.

public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
    // remove our listeners to the old state
    if (oldInput != null) {
        Document domDoc = (Document) oldInput;
        ModelQuery mq = ModelQueryUtil.getModelQuery(domDoc);
        if (mq != null) {
            documentManager = mq.getCMDocumentManager();
            if (documentManager != null) {
                documentManager.removeListener(this);
            }
        }
    }
    if ((oldInput != null) && (oldInput instanceof IDOMNode)) {
        IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IDOMNode) oldInput).getModel().getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class);
        if (factory != null) {
            factory.removeListener(viewer);
        }
    }
    if (viewer instanceof StructuredViewer) {
        fViewer = null;
    } else {
        fViewer = (StructuredViewer) viewer;
    }
    if ((newInput != null) && (newInput instanceof IDOMNode)) {
        IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IDOMNode) newInput).getModel().getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class);
        if (factory != null) {
            factory.addListener(viewer);
        }
    }
    if (newInput != null) {
        Document domDoc = (Document) newInput;
        ModelQuery mq = ModelQueryUtil.getModelQuery(domDoc);
        if (mq != null) {
            documentManager = mq.getCMDocumentManager();
            if (documentManager != null) {
                documentManager.setPropertyEnabled(CMDocumentManager.PROPERTY_ASYNC_LOAD, true);
                documentManager.addListener(this);
            }
        }
    }
}
Also used : IJFaceNodeAdapterFactory(org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapterFactory) IDOMNode(org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode) ModelQuery(org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery) StructuredViewer(org.eclipse.jface.viewers.StructuredViewer) Document(org.w3c.dom.Document) CMDocument(org.eclipse.wst.xml.core.internal.contentmodel.CMDocument) IJFaceNodeAdapter(org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter)

Aggregations

StructuredViewer (org.eclipse.jface.viewers.StructuredViewer)1 IJFaceNodeAdapter (org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter)1 IJFaceNodeAdapterFactory (org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapterFactory)1 CMDocument (org.eclipse.wst.xml.core.internal.contentmodel.CMDocument)1 ModelQuery (org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery)1 IDOMNode (org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode)1 Document (org.w3c.dom.Document)1