本文整理汇总了Java中com.intellij.openapi.actionSystem.DataProvider类的典型用法代码示例。如果您正苦于以下问题:Java DataProvider类的具体用法?Java DataProvider怎么用?Java DataProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DataProvider类属于com.intellij.openapi.actionSystem包,在下文中一共展示了DataProvider类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getData
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Override
public Object getData(final DataProvider dataProvider) {
final Object psiFile = dataProvider.getData(CommonDataKeys.PSI_FILE.getName());
if (psiFile instanceof PsiJavaFile) {
return new JavaAnalysisScope((PsiJavaFile)psiFile);
}
Object psiTarget = dataProvider.getData(CommonDataKeys.PSI_ELEMENT.getName());
if (psiTarget instanceof PsiPackage) {
PsiPackage pack = (PsiPackage)psiTarget;
PsiManager manager = pack.getManager();
if (!manager.isInProject(pack)) return null;
PsiDirectory[] dirs = pack.getDirectories(GlobalSearchScope.projectScope(manager.getProject()));
if (dirs.length == 0) return null;
return new JavaAnalysisScope(pack, (Module)dataProvider.getData(LangDataKeys.MODULE.getName()));
}
return null;
}
示例2: DirDiffFrame
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
public DirDiffFrame(Project project, DirDiffTableModel model) {
super(project, "DirDiffDialog");
setSize(JBUI.size(800, 600));
setTitle(model.getTitle());
myPanel = new DirDiffPanel(model, new DirDiffWindow(this));
Disposer.register(this, myPanel);
setComponent(myPanel.getPanel());
if (project != null) {
setProject(project);
}
closeOnEsc();
DataManager.registerDataProvider(myPanel.getPanel(), new DataProvider() {
@Override
public Object getData(@NonNls String dataId) {
if (PlatformDataKeys.HELP_ID.is(dataId)) {
return "reference.dialogs.diff.folder";
}
return null;
}
});
}
示例3: DiffPanelBase
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
public DiffPanelBase(@Nullable Project project,
@NotNull DataProvider provider,
@NotNull DiffContext context) {
super(new BorderLayout());
myProject = project;
myDataProvider = provider;
myContext = context;
myCardLayout = new CardLayout();
myContentPanel = new JPanel(myCardLayout);
myNotificationsPanel = new JPanel();
myNotificationsPanel.setLayout(new BoxLayout(myNotificationsPanel, BoxLayout.Y_AXIS));
myNorthPanel = new Wrapper();
mySouthPanel = new Wrapper();
add(myContentPanel, BorderLayout.CENTER);
add(myNorthPanel, BorderLayout.NORTH);
add(mySouthPanel, BorderLayout.SOUTH);
}
示例4: getData
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Override
public final Object getData(String dataId){
if (PlatformDataKeys.FILE_EDITOR.is(dataId)) {
return getSelectedEditor();
}
else if(CommonDataKeys.VIRTUAL_FILE.is(dataId)){
return myFile.isValid() ? myFile : null;
}
else if(CommonDataKeys.VIRTUAL_FILE_ARRAY.is(dataId)){
return myFile.isValid() ? new VirtualFile[] {myFile} : null;
}
else{
JComponent component = getPreferredFocusedComponent();
if(component instanceof DataProvider && component != this){
return ((DataProvider)component).getData(dataId);
}
else{
return null;
}
}
}
示例5: getData
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Override
@Nullable
public Object getData(@NonNls String dataId) {
if (PlatformDataKeys.CONTENT_MANAGER.is(dataId) || PlatformDataKeys.NONEMPTY_CONTENT_MANAGER.is(dataId) && getContentCount() > 1) {
return ContentManagerImpl.this;
}
for (DataProvider dataProvider : dataProviders) {
Object data = dataProvider.getData(dataId);
if (data != null) {
return data;
}
}
if (myUI instanceof DataProvider) {
return ((DataProvider)myUI).getData(dataId);
}
DataProvider provider = DataManager.getDataProvider(this);
return provider == null ? null : provider.getData(dataId);
}
示例6: showSettingsDialog
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
public static void showSettingsDialog(@Nullable Project project, final String id2Select, final String filter) {
ConfigurableGroup[] group = getConfigurableGroups(project, true);
group = filterEmptyGroups(group);
final Configurable configurable2Select = id2Select == null ? null : new ConfigurableVisitor.ByID(id2Select).find(group);
if (Registry.is("ide.new.settings.view")) {
new SettingsDialog(getProject(project), group, configurable2Select, filter).show();
return;
}
final DialogWrapper dialog = getDialog(project, group, configurable2Select);
new UiNotifyConnector.Once(dialog.getContentPane(), new Activatable.Adapter() {
@Override
public void showNotify() {
final OptionsEditor editor = (OptionsEditor)((DataProvider)dialog).getData(OptionsEditor.KEY.getName());
LOG.assertTrue(editor != null);
editor.select(configurable2Select, filter);
}
});
dialog.show();
}
示例7: getData
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
public Object getData(DataProvider dataProvider) {
final VirtualFile virtualFile = (VirtualFile)dataProvider.getData(CommonDataKeys.VIRTUAL_FILE.getName());
if (virtualFile == null) {
return null;
}
final FileType fileType = virtualFile.getFileType();
if (fileType.isBinary() || fileType.isReadOnly()) {
return null;
}
final Project project = (Project)dataProvider.getData(CommonDataKeys.PROJECT.getName());
if (project == null) {
return null;
}
final Document document = FileDocumentManager.getInstance().getDocument(virtualFile);
if (document == null) {
return null;
}
return document.getText();
}
示例8: XDebuggerFramesList
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
public XDebuggerFramesList(@NotNull final Project project) {
super(project);
doInit();
setTransferHandler(DEFAULT_TRANSFER_HANDLER);
setDataProvider(new DataProvider() {
@Nullable
@Override
public Object getData(@NonNls String dataId) {
if (mySelectedFrame != null) {
if (CommonDataKeys.VIRTUAL_FILE.is(dataId)) {
return getFile(mySelectedFrame);
}
else if (CommonDataKeys.PSI_FILE.is(dataId)) {
VirtualFile file = getFile(mySelectedFrame);
if (file != null && file.isValid()) {
return PsiManager.getInstance(myProject).findFile(file);
}
}
}
return null;
}
});
}
示例9: getRevisionNumbers
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Nullable
public List<VcsRevisionNumber> getRevisionNumbers(@NotNull DataProvider dataProvider) {
VcsRevisionNumber revisionNumber = VcsDataKeys.VCS_REVISION_NUMBER.getData(dataProvider);
if (revisionNumber != null) {
return Collections.singletonList(revisionNumber);
}
ChangeList[] changeLists = VcsDataKeys.CHANGE_LISTS.getData(dataProvider);
if (changeLists != null && changeLists.length > 0) {
List<CommittedChangeList> committedChangeLists = ContainerUtil.findAll(changeLists, CommittedChangeList.class);
if (!committedChangeLists.isEmpty()) {
ContainerUtil.sort(committedChangeLists, CommittedChangeListByDateComparator.DESCENDING);
return ContainerUtil.mapNotNull(committedChangeLists, CommittedChangeListToRevisionNumberFunction.INSTANCE);
}
}
VcsFileRevision[] fileRevisions = VcsDataKeys.VCS_FILE_REVISIONS.getData(dataProvider);
if (fileRevisions != null && fileRevisions.length > 0) {
return ContainerUtil.mapNotNull(fileRevisions, FileRevisionToRevisionNumberFunction.INSTANCE);
}
return null;
}
示例10: getBackgroundColor
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
protected static Color getBackgroundColor(@Nullable Object value) {
if (value instanceof PsiElement || value instanceof DataProvider) {
final PsiElement psiElement = value instanceof PsiElement
? (PsiElement)value
: CommonDataKeys.PSI_ELEMENT.getData((DataProvider) value);
if (psiElement != null && psiElement.isValid()) {
final FileColorManager fileColorManager = FileColorManager.getInstance(psiElement.getProject());
final Color fileColor = fileColorManager.getRendererBackground(psiElement.getContainingFile());
if (fileColor != null) {
return fileColor;
}
}
}
return UIUtil.getListBackground();
}
示例11: getData
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Override
public Object getData(DataProvider dataProvider) {
final Navigatable navigatable = CommonDataKeys.NAVIGATABLE.getData(dataProvider);
if (navigatable != null && navigatable instanceof OpenFileDescriptor) {
final OpenFileDescriptor openFileDescriptor = (OpenFileDescriptor)navigatable;
if (openFileDescriptor.getFile().isValid()) {
return openFileDescriptor;
}
}
final PsiElement element = CommonDataKeys.PSI_ELEMENT.getData(dataProvider);
if (element instanceof Navigatable) {
return element;
}
if (element != null) {
return EditSourceUtil.getDescriptor(element);
}
final Object selection = PlatformDataKeys.SELECTED_ITEM.getData(dataProvider);
if (selection instanceof Navigatable) {
return selection;
}
return null;
}
示例12: getData
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Override
public Object getData(DataProvider dataProvider) {
final Object[] objects = (Object[])dataProvider.getData(PlatformDataKeys.SELECTED_ITEMS.getName());
if (objects != null) {
final PsiElement[] elements = new PsiElement[objects.length];
for (int i = 0, objectsLength = objects.length; i < objectsLength; i++) {
Object object = objects[i];
if (!(object instanceof PsiElement)) return null;
if (!((PsiElement)object).isValid()) return null;
elements[i] = (PsiElement)object;
}
return elements;
}
return null;
}
示例13: search
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
protected List<PsiElement> search(VirtualFile file) throws IOException {
final MapDataContext context = createDataContext(file);
UsageTarget[] targets = UsageTargetUtil.findUsageTargets(new DataProvider() {
@Override
public Object getData(@NonNls String dataId) {
return context.getData(dataId);
}
});
PsiElement target = ((PsiElement2UsageTargetAdapter)targets[0]).getElement();
List<PsiReference> result = new ArrayList<PsiReference>(ReferencesSearch.search(target).findAll());
return ContainerUtil.map(result, new Function<PsiReference, PsiElement>() {
@Override
public PsiElement fun(PsiReference psiReference) {
return psiReference.getElement();
}
});
}
示例14: setUp
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Override
protected void setUp() throws Exception {
super.setUp();
myNestedFormLoader = new MyNestedFormLoader();
final String swingPath = PathUtil.getJarPathForClass(AbstractButton.class);
java.util.List<URL> cp = new ArrayList<URL>();
appendPath(cp, JBTabbedPane.class);
appendPath(cp, TIntObjectHashMap.class);
appendPath(cp, UIUtil.class);
appendPath(cp, SystemInfoRt.class);
appendPath(cp, ApplicationManager.class);
appendPath(cp, PathManager.getResourceRoot(this.getClass(), "/messages/UIBundle.properties"));
appendPath(cp, PathManager.getResourceRoot(this.getClass(), "/RuntimeBundle.properties"));
appendPath(cp, GridLayoutManager.class); // forms_rt
appendPath(cp, DataProvider.class);
myClassFinder = new MyClassFinder(
new URL[] {new File(swingPath).toURI().toURL()},
cp.toArray(new URL[cp.size()])
);
}
示例15: getData
import com.intellij.openapi.actionSystem.DataProvider; //导入依赖的package包/类
@Override
public Object getData(final DataProvider dataProvider) {
final Object psiFile = dataProvider.getData(LangDataKeys.PSI_FILE.getName());
if (psiFile instanceof PsiJavaFile) {
return new JavaAnalysisScope((PsiJavaFile)psiFile);
}
Object psiTarget = dataProvider.getData(LangDataKeys.PSI_ELEMENT.getName());
if (psiTarget instanceof PsiPackage) {
PsiPackage pack = (PsiPackage)psiTarget;
PsiManager manager = pack.getManager();
if (!manager.isInProject(pack)) return null;
PsiDirectory[] dirs = pack.getDirectories(GlobalSearchScope.projectScope(manager.getProject()));
if (dirs.length == 0) return null;
return new JavaAnalysisScope(pack, (Module)dataProvider.getData(LangDataKeys.MODULE.getName()));
}
return null;
}