Java 类org.eclipse.ui.Saveable 实例源码

项目:NEXCORE-UML-Modeler    文件:ExplorerSaveablesProvider.java   
/**
 * @see org.eclipse.ui.navigator.SaveablesProvider#getElements(org.eclipse.ui.Saveable)
 */
@Override
public Object[] getElements(Saveable pSaveable) {

    if (pSaveable == null) {
        return new Object[] {};
    }

    CommonViewer viewer = ProjectRegistry.ViewerRegistry.getViewer();
    ITreeContentProvider contentProvider = (ITreeContentProvider) viewer.getContentProvider();
    Object viewerInput = viewer.getInput();

    if (contentProvider == null) {
        return null;
    }

    return contentProvider.getElements(viewerInput);

}
项目:NEXCORE-UML-Modeler    文件:ExplorerSaveablesProvider.java   
/**
 * @see org.eclipse.ui.navigator.SaveablesProvider#getSaveables()
 */
@Override
public Saveable[] getSaveables() {
    if (0 == saveablesMap.size()) {
        return new Saveable[] {};
    }
    List<Saveable> list = new ArrayList<Saveable>();
    for (Iterator<String> iterator = saveablesMap.keySet().iterator(); iterator.hasNext();) {
        String uriStr = (String) iterator.next();

        ExplorerSaveable saveable = saveablesMap.get(uriStr);
        Resource resource = saveable.getResource();
        if (resource == null) {
            iterator.remove();
            continue;
        }

        if (DomainUtil.isUMXFile(resource)) {
            boolean active = ResourceManager.getInstance().isActive(resource.getURI());
            if (!active) {
                iterator.remove();
                continue;
            }
        }

        ResourceSetImpl resourceSet = (ResourceSetImpl) DomainRegistry.getUMLDomain().getResourceSet();
        if (ProjectUtil.isModelFile(resource) && resourceSet.getURIResourceMap().containsKey(resource.getURI())) {
            list.add((Saveable) saveable);
        }
    }

    return list.isEmpty() ? new Saveable[0] : list.toArray(new Saveable[list.size()]);

}
项目:NEXCORE-UML-Modeler    文件:ModelMultiPageEditor.java   
/**
     * @see org.eclipse.ui.forms.editor.SharedHeaderFormEditor#dispose()
     */
    @Override
    public void dispose() {
        if (model != null && model.eResource() != null) {
            if (isDirty()) {
                ProjectUtil.rollbackWithSave(recorder, model);

//                TreeMap<String, Package> fragmentedPackageList = ProjectUtil.getFragmentedPackageList(model);
//                for (Iterator<Package> iterator = fragmentedPackageList.values().iterator(); iterator.hasNext();) {
//                    Package pkg = (Package) iterator.next();
//                    
//                    ProjectUtil.rollbackWithSave(recorder, pkg);
//                }
            }
        }

        try {
            SaveablesList modelManager = null;
            modelManager = (SaveablesList) getSite().getWorkbenchWindow().getService(ISaveablesLifecycleListener.class);

            Saveable[] openModels = modelManager.getOpenModels();

            for (Saveable saveable : openModels) {
                if (saveable instanceof ExplorerSaveable) {
                    ExplorerSaveable explorerSaveable = (ExplorerSaveable) saveable;
                    explorerSaveable.dirtyStateChanged();
                }
            }
        } catch (Exception e) {
            // ignore
        }

        unregisterResourceSetListener();

        super.dispose();
    }
项目:team-explorer-everywhere    文件:WorkbenchPartSaveableFilterAdapter.java   
@Override
public boolean select(final Saveable saveable, final IWorkbenchPart[] containingParts) {
    return filter.select(containingParts);
}
项目:NEXCORE-UML-Modeler    文件:ExplorerSaveablesProvider.java   
/**
 * ExplorerSaveablesProvider
 */
public ExplorerSaveablesProvider() {
    saveablesMap = new Hashtable<String, ExplorerSaveable>();

    UMLLoginController.addLoginListener(new UMLNexcoreLoginListener() {

        @Override
        public void changed(UMLNexcoreLoginEvent event) {
            synchronized (this) {
                if (event.getType() == UMLNexcoreLoginEvent.LOG_IN) {
                    // do nothing
                } else if (event.getType() == UMLNexcoreLoginEvent.LOG_OUT) {
                    if (saveablesMap != null) {
                        saveablesMap.clear();
                    }
                    fireSaveablesClosed(getSaveables());
                }
            }
        }
    });

    EList<Adapter> cacheAdapters = DomainRegistry.getUMLDomain().getResourceSet().eAdapters();

    cacheAdapters.add(new CacheAdapter(){
        @Override
        public void notifyChanged(Notification msg) {
            super.notifyChanged(msg);

            final Object notifier = msg.getNotifier();               

            if (notifier instanceof Resource) {
                Resource r = (Resource) notifier;
                switch (msg.getFeatureID(Resource.class)) {
                    // resourceset.getResources().remove(r) 될 때 실행됨.
                    case Resource.RESOURCE__RESOURCE_SET: {
                        if (saveablesMap != null) {
                            if (saveablesMap.containsKey(r.getURI().toString())) {
                                ExplorerSaveable saveable = saveablesMap.get(r.getURI().toString());
                                fireSaveablesClosed(new Saveable[] { saveable });
                                saveablesMap.remove(r.getURI().toString());
                            }
                        }
                        break;
                    }
                }
            }
        }
    });
}
项目:logan    文件:SearchView.java   
@Override
public Saveable[] getSaveables() {
  return ProfileSaveablesProvider.getInstance().getSaveables();
}
项目:logan    文件:SearchView.java   
@Override
public Saveable[] getActiveSaveables() {
  // TODO agu fix this
  return ProfileSaveablesProvider.getInstance().getSaveables();
}