Skip to content

Commit 671e955

Browse files
committed
feat: new method loadIcon(resourceName: String, contextClass: Class<*>): Icon
1 parent 61f13ff commit 671e955

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

api/src/main/kotlin/org/modelix/mps/api/IModelixMpsApi.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import org.jetbrains.mps.openapi.module.SModule
99
import org.jetbrains.mps.openapi.module.SRepository
1010
import org.jetbrains.mps.openapi.project.Project
1111
import java.awt.Component
12+
import javax.swing.Icon
1213

1314
interface IModelixMpsApi {
1415
fun getRepository(): SRepository = ContextRepository.getRepository() ?: getProjectRepository() ?: getGlobalRepository()
@@ -41,4 +42,6 @@ interface IModelixMpsApi {
4142
ContextProject.runWith(project, body)
4243
fun <R> runWithProject(project: com.intellij.openapi.project.Project, body: () -> R): R = runWithProject(getMPSProject(project), body)
4344
fun <R> runWithRepository(repository: SRepository, body: () -> R): R = ContextRepository.runWith(repository, body)
45+
46+
fun loadIcon(resourceName: String, contextClass: Class<*>): Icon
4447
}

impl203/src/main/kotlin/org/modelix/mps/api/ModelixMpsApiImpl203.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package org.modelix.mps.api
22

33
import com.intellij.openapi.wm.IdeFrame
44
import com.intellij.ui.ComponentUtil
5+
import com.intellij.ui.IconManager
56
import jetbrains.mps.ide.MPSCoreComponents
67
import jetbrains.mps.ide.project.ProjectHelper
78
import jetbrains.mps.lang.migration.runtime.base.VersionFixer
@@ -20,6 +21,7 @@ import org.jetbrains.mps.openapi.module.SModule
2021
import org.jetbrains.mps.openapi.module.SRepository
2122
import org.jetbrains.mps.openapi.project.Project
2223
import java.awt.Component
24+
import javax.swing.Icon
2325

2426
open class ModelixMpsApiImpl203 : IModelixMpsApi {
2527
override fun getMPSProjects(): List<Project> {
@@ -94,4 +96,8 @@ open class ModelixMpsApiImpl203 : IModelixMpsApi {
9496
"No MPS project found in $project"
9597
}
9698
}
99+
100+
override fun loadIcon(resourceName: String, contextClass: Class<*>): Icon {
101+
return IconManager.getInstance().getIcon(resourceName, contextClass)
102+
}
97103
}
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
package org.modelix.mps.api
22

3-
open class ModelixMpsApiImpl232 : ModelixMpsApiImpl223()
3+
import com.intellij.ui.IconManager
4+
import javax.swing.Icon
5+
6+
open class ModelixMpsApiImpl232 : ModelixMpsApiImpl223() {
7+
override fun loadIcon(resourceName: String, contextClass: Class<*>): Icon {
8+
return IconManager.getInstance().getIcon(resourceName, contextClass)
9+
}
10+
}

0 commit comments

Comments
 (0)