mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[gui-test] project view fix for generators
This commit is contained in:
+5
-2
@@ -339,7 +339,8 @@ class IdeFrameGenerator : GlobalContextCodeGenerator<JFrame>() {
|
||||
|
||||
class ProjectViewGenerator : LocalContextCodeGenerator<JPanel>() {
|
||||
|
||||
override fun priority() = 2
|
||||
override fun priority() = 0
|
||||
override fun isLastContext() = true
|
||||
override fun acceptor(): (Component) -> Boolean = { component -> component.javaClass.name.endsWith("ProjectViewImpl\$MyPanel") }
|
||||
override fun generate(cmp: JPanel) = "projectView {"
|
||||
|
||||
@@ -347,6 +348,8 @@ class ProjectViewGenerator : LocalContextCodeGenerator<JPanel>() {
|
||||
|
||||
class ToolWindowGenerator : LocalContextCodeGenerator<Component>() {
|
||||
|
||||
override fun priority() = 1
|
||||
|
||||
private fun Component.containsLocationOnScreen(locationOnScreen: Point): Boolean {
|
||||
val rectangle = this.bounds
|
||||
rectangle.location = this.locationOnScreen
|
||||
@@ -386,7 +389,7 @@ class ToolWindowGenerator : LocalContextCodeGenerator<Component>() {
|
||||
|
||||
class ToolWindowContextGenerator : LocalContextCodeGenerator<Component>() {
|
||||
|
||||
override fun priority() = 1
|
||||
override fun priority() = 2
|
||||
|
||||
private fun Component.containsLocationOnScreen(locationOnScreen: Point): Boolean {
|
||||
val rectangle = this.bounds
|
||||
|
||||
+3
@@ -38,6 +38,9 @@ abstract class LocalContextCodeGenerator<C : Component> : ContextCodeGenerator<C
|
||||
if (myAcceptor(curCmp)) return curCmp else return null
|
||||
}
|
||||
|
||||
// to stop adding more contexts than its in -> ProjectView
|
||||
open fun isLastContext(): Boolean = false
|
||||
|
||||
abstract fun acceptor(): (Component) -> Boolean
|
||||
|
||||
override fun accept(cmp: Component) = (findComponentInHierarchy(cmp) != null)
|
||||
|
||||
+4
-1
@@ -88,7 +88,10 @@ private class ContextTree(val writeFun: (String) -> Unit) {
|
||||
}
|
||||
|
||||
fun addContexts(localContextList: List<Context>) {
|
||||
localContextList.forEach { addContext(it) }
|
||||
for(context in localContextList) {
|
||||
addContext(context)
|
||||
if (context.originalGenerator is LocalContextCodeGenerator && context.originalGenerator.isLastContext()) break
|
||||
}
|
||||
}
|
||||
|
||||
private fun Context.inContextTree(): Boolean =
|
||||
|
||||
Reference in New Issue
Block a user