Commit 574e6d22 authored by Maxim.Kolmakov's avatar Maxim.Kolmakov
Browse files

[gui-test] Remove unnecessary point in code generator

parent a22d4940
Showing with 26 additions and 28 deletions
+26 -28
......@@ -16,7 +16,6 @@
package com.intellij.testGuiFramework.generators
import java.awt.Component
import java.awt.Point
import java.awt.event.MouseEvent
/**
......@@ -25,10 +24,10 @@ import java.awt.event.MouseEvent
interface ContextCodeGenerator<C : Component> {
fun priority(): Int
fun buildContext(component: Component, mouseEvent: MouseEvent, convertedPoint: Point): Context
fun buildContext(component: Component, mouseEvent: MouseEvent): Context
fun accept(cmp: Component): Boolean
fun generate(cmp: C, me: MouseEvent, cp: Point): String
fun generate(cmp: C, me: MouseEvent): String
fun typeSafeCast(cmp: Component): C = cmp as C
fun closeContext() = "}"
......
......@@ -303,14 +303,14 @@ class ActionMenuItemGenerator : ComponentCodeGenerator<ActionMenuItem> {
class WelcomeFrameGenerator : GlobalContextCodeGenerator<FlatWelcomeFrame>() {
override fun priority() = 1
override fun accept(cmp: Component) = (cmp as JComponent).rootPane.parent is FlatWelcomeFrame
override fun generate(cmp: FlatWelcomeFrame, me: MouseEvent, cp: Point): String {
override fun generate(cmp: FlatWelcomeFrame, me: MouseEvent): String {
return "welcomeFrame {"
}
}
class JDialogGenerator : GlobalContextCodeGenerator<JDialog>() {
override fun accept(cmp: Component) = (cmp as JComponent).rootPane.parent is JDialog
override fun generate(cmp: JDialog, me: MouseEvent, cp: Point) = "dialog(\"${cmp.title}\") {"
override fun generate(cmp: JDialog, me: MouseEvent) = "dialog(\"${cmp.title}\") {"
}
class IdeFrameGenerator : GlobalContextCodeGenerator<JFrame>() {
......@@ -319,7 +319,7 @@ class IdeFrameGenerator : GlobalContextCodeGenerator<JFrame>() {
return (parent is JFrame) && parent.title != "GUI Script Editor"
}
override fun generate(cmp: JFrame, me: MouseEvent, cp: Point) = "ideFrame {"
override fun generate(cmp: JFrame, me: MouseEvent) = "ideFrame {"
}
//**********LOCAL CONTEXT GENERATORS**********
......@@ -328,7 +328,7 @@ class ProjectViewGenerator : LocalContextCodeGenerator<JPanel>() {
override fun priority() = 2
override fun acceptor(): (Component) -> Boolean = { component -> component.javaClass.name.endsWith("ProjectViewImpl\$MyPanel") }
override fun generate(cmp: JPanel, me: MouseEvent, cp: Point) = "projectView {"
override fun generate(cmp: JPanel, me: MouseEvent) = "projectView {"
}
......@@ -364,7 +364,7 @@ class ToolWindowGenerator : LocalContextCodeGenerator<Component>() {
val tw = getToolWindow(component.centerOnScreen()); tw != null && component == tw.component
}
override fun generate(cmp: Component, me: MouseEvent, cp: Point): String {
override fun generate(cmp: Component, me: MouseEvent): String {
val toolWindow: ToolWindowImpl = getToolWindow(cmp.centerOnScreen())!!
return "toolwindow(id = \"${toolWindow.id}\") {"
}
......@@ -410,7 +410,7 @@ class ToolWindowContextGenerator : LocalContextCodeGenerator<Component>() {
val tw = getToolWindow(component.centerOnScreen()); tw != null && tw.contentManager.selectedContent!!.component == component
}
override fun generate(cmp: Component, me: MouseEvent, cp: Point): String {
override fun generate(cmp: Component, me: MouseEvent): String {
val toolWindow: ToolWindowImpl = getToolWindow(cmp.centerOnScreen())!!
val tabName = toolWindow.contentManager.selectedContent?.tabName
return if (tabName != null) "content(tabName = \"${tabName}\") {"
......@@ -440,7 +440,7 @@ class MacMessageGenerator : LocalContextCodeGenerator<JDialog>() {
override fun acceptor(): (Component) -> Boolean = { component -> acceptMacSheetPanel(component) }
override fun generate(cmp: JDialog, me: MouseEvent, cp: Point): String {
override fun generate(cmp: JDialog, me: MouseEvent): String {
val panel = cmp.rootPane.contentPane as JPanel
val title = withRobot { robot -> MessagesFixture.getTitle(panel, robot) }
return "message(\"$title\") {"
......@@ -455,7 +455,7 @@ class MessageGenerator : LocalContextCodeGenerator<JDialog>() {
cmp is JDialog && MessageDialogFixture.isMessageDialog(cmp, Ref<DialogWrapper>())
}
override fun generate(cmp: JDialog, me: MouseEvent, cp: Point): String {
override fun generate(cmp: JDialog, me: MouseEvent): String {
return "message(\"${cmp.title}\") {"
}
}
......@@ -463,7 +463,7 @@ class MessageGenerator : LocalContextCodeGenerator<JDialog>() {
class EditorGenerator : LocalContextCodeGenerator<EditorComponentImpl>() {
override fun acceptor(): (Component) -> Boolean = { component -> component is EditorComponentImpl }
override fun generate(cmp: EditorComponentImpl, me: MouseEvent, cp: Point) = "editor {"
override fun generate(cmp: EditorComponentImpl, me: MouseEvent) = "editor {"
}
......
......@@ -29,10 +29,11 @@ abstract class GlobalContextCodeGenerator<C : Component> : ContextCodeGenerator<
override fun priority(): Int = 0 // prioritize component code generators 0 - for common, (n) - for the most specific
fun generateCode(cmp: Component, me: MouseEvent, cp: Point): String {
return generate(typeSafeCast(cmp), me, cp)
return generate(typeSafeCast(cmp), me)
}
override fun buildContext(component: Component, mouseEvent: MouseEvent, convertedPoint: Point) = Context(originalGenerator = this, component = (component as JComponent).rootPane.parent, code = generate(typeSafeCast(component.rootPane.parent), mouseEvent, convertedPoint))
override fun buildContext(component: Component, mouseEvent: MouseEvent) = Context(originalGenerator = this, component = (component as JComponent).rootPane.parent, code = generate(
typeSafeCast(component.rootPane.parent), mouseEvent))
}
......@@ -16,7 +16,6 @@
package com.intellij.testGuiFramework.generators
import java.awt.Component
import java.awt.Point
import java.awt.event.MouseEvent
/**
......@@ -29,8 +28,8 @@ abstract class LocalContextCodeGenerator<C : Component> : ContextCodeGenerator<C
override fun priority(): Int = 0 // prioritize component code generators 0 - for common, (n) - for the most specific
@Suppress("UNCHECKED_CAST")
fun generateCode(cmp: Component, me: MouseEvent, cp: Point): String {
return generate(typeSafeCast(cmp), me, cp)
fun generateCode(cmp: Component, me: MouseEvent): String {
return generate(typeSafeCast(cmp), me)
}
fun findComponentInHierarchy(componentDeepest: Component): Component? {
......@@ -45,9 +44,9 @@ abstract class LocalContextCodeGenerator<C : Component> : ContextCodeGenerator<C
override fun accept(cmp: Component) = (findComponentInHierarchy(cmp) != null)
override fun buildContext(component: Component, mouseEvent: MouseEvent, convertedPoint: Point) =
override fun buildContext(component: Component, mouseEvent: MouseEvent) =
Context(originalGenerator = this, component = typeSafeCast(findComponentInHierarchy(component)!!),
code = generate(typeSafeCast(findComponentInHierarchy(component)!!), mouseEvent, convertedPoint))
code = generate(typeSafeCast(findComponentInHierarchy(component)!!), mouseEvent))
}
......
......@@ -18,7 +18,6 @@ package com.intellij.testGuiFramework.recorder
import com.intellij.testGuiFramework.generators.*
import java.awt.Component
import java.awt.Point
import java.awt.event.MouseEvent
import java.util.*
import javax.swing.JComponent
......@@ -37,9 +36,9 @@ object ContextChecker {
fun getContextDepth(): Int = contextTree.getSize()
fun clearContext() = contextTree.clear()
fun checkContext(component: Component, me: MouseEvent, cp: Point) {
val globalContext = getGlobalApplicableContext(component, me, cp)
val localContextList: List<Context> = getLocalApplicableContext(component, me, cp)
fun checkContext(component: Component, me: MouseEvent) {
val globalContext = getGlobalApplicableContext(component, me)
val localContextList: List<Context> = getLocalApplicableContext(component, me)
contextTree.checkAliveContexts(me)
if (globalContext != null) contextTree.addContext(globalContext)
if (!localContextList.isNullOrEmpty()) contextTree.addContexts(localContextList)
......@@ -47,15 +46,15 @@ object ContextChecker {
private fun List<*>?.isNullOrEmpty(): Boolean = this == null || this.isEmpty()
private fun getGlobalApplicableContext(component: Component, me: MouseEvent, cp: Point): Context? =
private fun getGlobalApplicableContext(component: Component, me: MouseEvent): Context? =
globalContextGenerators.filter { generator -> generator.accept(component) }.sortedByDescending(
ContextCodeGenerator<*>::priority).firstOrNull()?.buildContext(component, me, cp)
ContextCodeGenerator<*>::priority).firstOrNull()?.buildContext(component, me)
private fun getLocalApplicableContext(component: Component, me: MouseEvent, cp: Point): List<Context> =
private fun getLocalApplicableContext(component: Component, me: MouseEvent): List<Context> =
localContextGenerators.filter { generator -> generator.accept(component) }
.sortedBy(ContextCodeGenerator<*>::priority)
.map { applicableGenerator -> applicableGenerator.buildContext(component, me, cp) }
.map { applicableGenerator -> applicableGenerator.buildContext(component, me) }
}
private class ContextTree(val writeFun: (String) -> Unit) {
......
......@@ -54,7 +54,7 @@ object ScriptGenerator {
fun clickComponent(component: Component, convertedPoint: Point, mouseEvent: MouseEvent) {
if (!isPopupList(component)) {
ContextChecker.checkContext(component, mouseEvent, convertedPoint)
ContextChecker.checkContext(component, mouseEvent)
}
val suitableGenerator = generators.filter { generator -> generator.accept(component) }.sortedByDescending(
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment