From 74a64dbc5807356d7396ec72d1e425695b2c9036 Mon Sep 17 00:00:00 2001 From: breandan Date: Thu, 3 Dec 2015 17:21:16 -0500 Subject: [PATCH] Unzipped MaxOpenedProjects and added Gradle module --- MaxOpenedProjects/MaxOpenedProjects.iml | 12 +++++ MaxOpenedProjects/src/META-INF/plugin.xml | 29 ++++++++++ .../src/MyPackage/MaxProject.java | 54 +++++++++++++++++++ .../src/MyPackage/MyCounter.java | 29 ++++++++++ 4 files changed, 124 insertions(+) create mode 100644 MaxOpenedProjects/MaxOpenedProjects.iml create mode 100644 MaxOpenedProjects/src/META-INF/plugin.xml create mode 100644 MaxOpenedProjects/src/MyPackage/MaxProject.java create mode 100644 MaxOpenedProjects/src/MyPackage/MyCounter.java diff --git a/MaxOpenedProjects/MaxOpenedProjects.iml b/MaxOpenedProjects/MaxOpenedProjects.iml new file mode 100644 index 000000000..347e916d5 --- /dev/null +++ b/MaxOpenedProjects/MaxOpenedProjects.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/MaxOpenedProjects/src/META-INF/plugin.xml b/MaxOpenedProjects/src/META-INF/plugin.xml new file mode 100644 index 000000000..3e3ce844c --- /dev/null +++ b/MaxOpenedProjects/src/META-INF/plugin.xml @@ -0,0 +1,29 @@ + + Plugin name here + short description of the plugin + 1.0 + YourCompany + + + + + + + + + + MyPackage.MaxProject + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MaxOpenedProjects/src/MyPackage/MaxProject.java b/MaxOpenedProjects/src/MyPackage/MaxProject.java new file mode 100644 index 000000000..dbf179d55 --- /dev/null +++ b/MaxOpenedProjects/src/MyPackage/MaxProject.java @@ -0,0 +1,54 @@ +package MyPackage; + +import com.intellij.openapi.components.ProjectComponent; +import com.intellij.openapi.components.ServiceManager; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectManager; +import com.intellij.openapi.ui.Messages; +import org.jetbrains.annotations.NotNull; + +/** + * Created by IntelliJ IDEA. + * User: Alexey.Chursin + * Date: Aug 13, 2010 + * Time: 3:50:25 PM + * To change this template use File | Settings | File Templates. + */ +public class MaxProject implements ProjectComponent { + public MaxProject(Project project) { + } + + public void initComponent() { + // TODO: insert component initialization logic here + } + + public void disposeComponent() { + // TODO: insert component disposal logic here + } + + @NotNull + public String getComponentName() { + return "MaxProject"; + } + + public void projectOpened() { + // called when project is opened + MyCounter CommandCounter = ServiceManager.getService(MyCounter.class); + + if (CommandCounter.IncreaseCounter() == -1) { + Messages.showMessageDialog("The maximum number of opened projects exceeds " + String.valueOf(CommandCounter.MaxCount) + + " projects!", "Error", Messages.getErrorIcon()); + ProjectManager PM=ProjectManager.getInstance(); + Project[] AllProjects = PM.getOpenProjects(); + Project project = AllProjects[AllProjects.length-1]; + PM.closeProject(project); + } + } + + + public void projectClosed() { + // called when project is being closed + MyCounter CommandCounter = ServiceManager.getService(MyCounter.class); + CommandCounter.DecreaseCounter(); + } +} diff --git a/MaxOpenedProjects/src/MyPackage/MyCounter.java b/MaxOpenedProjects/src/MyPackage/MyCounter.java new file mode 100644 index 000000000..f2e5417a8 --- /dev/null +++ b/MaxOpenedProjects/src/MyPackage/MyCounter.java @@ -0,0 +1,29 @@ +package MyPackage; + +/** + * Created by IntelliJ IDEA. + * User: Alexey.Chursin + * Date: Aug 13, 2010 + * Time: 3:49:33 PM + * To change this template use File | Settings | File Templates. + */ +public class MyCounter { + private int Count = 0; + // Sets the maximum allowed number of opened projects. + public final int MaxCount = 3; + public MyCounter(){ + + + } + + public int IncreaseCounter() { + Count++; + return (Count > MaxCount) ? -1:Count; + } + + public int DecreaseCounter() { + Count--; + return (Count > MaxCount) ? -1:Count; + } + +}