Example usage for org.eclipse.jdt.core JavaCore addPreProcessingResourceChangedListener

List of usage examples for org.eclipse.jdt.core JavaCore addPreProcessingResourceChangedListener

Introduction

In this page you can find the example usage for org.eclipse.jdt.core JavaCore addPreProcessingResourceChangedListener.

Prototype

public static void addPreProcessingResourceChangedListener(IResourceChangeListener listener, int eventMask) 

Source Link

Document

Adds the given listener for resource change events of the given types to the Java core.

Usage

From source file:com.drgarbage.ast.ASTPanel.java

License:Apache License

/**
 * Constructs a control panel with a tree object..
 * @param parent parent a composite control which will be the 
 *               parent of the new instance (cannot be null)
 * @param style the style of control to construct
 *///www  . j ava 2  s  .co m
public ASTPanel(Composite parent, int style) {
    super(parent, style);

    GridLayout gridLayout = new GridLayout();
    super.setLayout(gridLayout);

    treeViewer = new TreeViewer(this, SWT.BORDER | SWT.SINGLE | SWT.FILL);
    gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    treeViewer.getControl().setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL
            | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
         */
        public void selectionChanged(SelectionChangedEvent event) {
            /* select text in the referenced resource */
            ISelection sel = event.getSelection();
            if (sel instanceof TreeSelection) {
                TreeSelection ts = (TreeSelection) sel;
                Object o = ts.getFirstElement();
                if (o != null) {
                    selectedModelElement = (TreeModel) o;
                    ASTNode node = selectedModelElement.getNode();
                    if (node != null) {
                        editorPart.selectAndReveal(node.getStartPosition(), node.getLength());
                    }
                }
            }
        }
    });

    treeViewer.setContentProvider(new TreeContentProvider());
    treeViewer.setLabelProvider(new ILabelProvider() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
         */
        public void addListener(ILabelProviderListener listener) {
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
         */
        public void dispose() {
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
         */
        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
         */
        public void removeListener(ILabelProviderListener listener) {
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
         */
        public Image getImage(Object element) {
            ASTNode n;
            if (element instanceof TreeModel) {
                TreeModel tm = (TreeModel) element;
                n = tm.getNode();
            } else {
                n = (ASTNode) element;
            }
            Image i = ASTGraphUtil.getImage(n);
            return i;
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            TreeModel tm = (TreeModel) element;
            ASTNode n = tm.getNode();
            String s = ASTGraphUtil.getNodeDescr(n);
            return s;
        }

    });

    MenuManager mm = new MenuManager();

    IAction action = new Action(CoreMessages.ASTView_Action_Generate_AST_Graph) {

        /* (non-Javadoc)
         * @see org.eclipse.jface.action.Action#run()
         */
        public void run() {
            if (selectedModelElement != null) {
                IDirectedGraphExt graph = ASTGraphUtil.createGraphFromASTtree(selectedModelElement);

                IExternalCommunication comunicationObject = CorePlugin.getExternalCommunication();
                if (comunicationObject == null) {
                    String msg = CoreMessages.ERROR_Opening_Graph_in_CFGF_failed + '\n'
                            + CoreMessages.ERROR_CFGF_is_not_installed;
                    Messages.error(msg);
                    return;
                }

                String fileName = treeName + "-ast-tree.graph";
                comunicationObject.generateDiagramFromGraph(fileName, graph);
            }
        }
    };
    action.setImageDescriptor(CoreImg.astview_new_16x16);
    mm.add(action);
    Menu menu = mm.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);

    /* 
     * Add a resource listener to refresh the content 
     * if the input resource has been modified. 
     */
    JavaCore.addPreProcessingResourceChangedListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
}

From source file:com.siteview.mde.internal.core.builders.FeatureRebuilder.java

License:Open Source License

public void start() {
    MDECore.getDefault().getFeatureModelManager().addFeatureModelListener(this);
    MDECore.getDefault().getModelManager().addPluginModelListener(this);
    JavaCore.addPreProcessingResourceChangedListener(this, IResourceChangeEvent.PRE_BUILD);
}

From source file:com.siteview.mde.internal.core.builders.MonitorRebuilder.java

License:Open Source License

public void start() {
    MDECore.getDefault().getModelManager().addStateDeltaListener(this);
    JavaCore.addPreProcessingResourceChangedListener(this, IResourceChangeEvent.PRE_BUILD);
}

From source file:com.siteview.mde.internal.core.WorkspaceMonitorModelManager.java

License:Open Source License

/**
 * Adds listeners to the workspace and to the java model
 * to be notified of PRE_CLOSE events and POST_CHANGE events.
 *//*from   www .  jav  a 2s  .c o m*/
protected void addListeners() {
    IWorkspace workspace = MDECore.getWorkspace();
    workspace.addResourceChangeListener(this, IResourceChangeEvent.PRE_CLOSE);
    // PDE must process the POST_CHANGE events before the Java model
    // for the PDE container classpath update to proceed smoothly
    JavaCore.addPreProcessingResourceChangedListener(this, IResourceChangeEvent.POST_CHANGE);
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockProject.java

License:Open Source License

void register() {
    if (projects_registered)
        return;/*from www.  j a v a 2 s  .  c o  m*/
    projects_registered = true;

    JavaCore.addPreProcessingResourceChangedListener(this,
            IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.POST_BUILD);
}

From source file:edu.uci.lighthouse.core.listeners.JavaFileChangedReporter.java

License:Open Source License

@Override
public void start(BundleContext context) throws Exception {
    logger.info("Starting JavaFileChangedReporter");
    logger.debug("addElementChangedListener()");
    JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE);
    logger.debug("addPreProcessingResourceChangedListener()");
    JavaCore.addPreProcessingResourceChangedListener(this, IResourceChangeEvent.POST_BUILD);
    // FIXME: find a way to load eclipse workbench first to guarantee the
    // file will be found
    findActiveOpenFileInWorkspace();/*from  w w w.  j  a  v a 2 s  .  c  o m*/
}

From source file:it.scoppelletti.sdk.ide.ProjectService.java

License:Apache License

/**
 * Avvia il servizio.
 */
void start() {
    JavaCore.addPreProcessingResourceChangedListener(myListener, IResourceChangeEvent.POST_CHANGE);
}

From source file:org.eclipse.pde.internal.core.builders.FeatureRebuilder.java

License:Open Source License

public void start() {
    PDECore.getDefault().getFeatureModelManager().addFeatureModelListener(this);
    PDECore.getDefault().getModelManager().addPluginModelListener(this);
    JavaCore.addPreProcessingResourceChangedListener(this, IResourceChangeEvent.PRE_BUILD);
}

From source file:org.eclipse.pde.internal.core.builders.PluginRebuilder.java

License:Open Source License

public void start() {
    PDECore.getDefault().getModelManager().addStateDeltaListener(this);
    JavaCore.addPreProcessingResourceChangedListener(this, IResourceChangeEvent.PRE_BUILD);
}

From source file:org.eclipse.pde.internal.core.WorkspacePluginModelManager.java

License:Open Source License

/**
 * Adds listeners to the workspace and to the java model
 * to be notified of PRE_CLOSE events and POST_CHANGE events.
 *//*from  w w  w .ja va  2 s.c  om*/
@Override
protected void addListeners() {
    IWorkspace workspace = PDECore.getWorkspace();
    workspace.addResourceChangeListener(this, IResourceChangeEvent.PRE_CLOSE);
    // PDE must process the POST_CHANGE events before the Java model
    // for the PDE container classpath update to proceed smoothly
    JavaCore.addPreProcessingResourceChangedListener(this, IResourceChangeEvent.POST_CHANGE);
}