From e4fdb48ae64e47d431cac62f30edd93c003c88bb Mon Sep 17 00:00:00 2001 From: Anna Bulenkova Date: Mon, 15 Dec 2014 15:25:32 +0100 Subject: [PATCH] [code] Project sdk sample --- project_model/META-INF/plugin.xml | 4 +++ .../project/model/ProjectSdkAction.java | 33 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 project_model/src/com/intellij/plugins/project/model/ProjectSdkAction.java diff --git a/project_model/META-INF/plugin.xml b/project_model/META-INF/plugin.xml index fe948d7a2..135be9e00 100644 --- a/project_model/META-INF/plugin.xml +++ b/project_model/META-INF/plugin.xml @@ -29,6 +29,10 @@ description="Illustrates how to get source roots"> + + + diff --git a/project_model/src/com/intellij/plugins/project/model/ProjectSdkAction.java b/project_model/src/com/intellij/plugins/project/model/ProjectSdkAction.java new file mode 100644 index 000000000..b4c416771 --- /dev/null +++ b/project_model/src/com/intellij/plugins/project/model/ProjectSdkAction.java @@ -0,0 +1,33 @@ +package com.intellij.plugins.project.model; + +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.openapi.roots.ProjectRootManager; +import com.intellij.openapi.ui.Messages; + +/** + * @author Anna Bulenkova + */ +public class ProjectSdkAction extends AnAction { + @Override + public void actionPerformed(final AnActionEvent e) { + Project project = e.getProject(); + if (project != null) { + String projectSDKName = ProjectRootManager.getInstance(project).getProjectSdkName(); + String newProjectSdkName = "New Sdk Name"; + ProjectRootManager.getInstance(project).setProjectSdkName(newProjectSdkName); + Messages.showInfoMessage(projectSDKName + " has changed to " + newProjectSdkName, "Project Sdk Info"); + } + } + + @Override + public void update(final AnActionEvent e) { + Project project = e.getProject(); + if (project != null) { + Sdk sdk = ProjectRootManager.getInstance(project).getProjectSdk(); + e.getPresentation().setEnabledAndVisible(sdk != null); + } + } +}