Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
574e6d22
Commit
574e6d22
authored
7 years ago
by
Maxim.Kolmakov
Browse files
Options
Download
Email Patches
Plain Diff
[gui-test] Remove unnecessary point in code generator
parent
a22d4940
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/ContextCodeGenerator.kt
+2
-3
...ellij/testGuiFramework/generators/ContextCodeGenerator.kt
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/Generators.kt
+9
-9
...rc/com/intellij/testGuiFramework/generators/Generators.kt
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/GlobalContextCodeGenerator.kt
+3
-2
...testGuiFramework/generators/GlobalContextCodeGenerator.kt
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/LocalContextCodeGenerator.kt
+4
-5
.../testGuiFramework/generators/LocalContextCodeGenerator.kt
platform/testGuiFramework/src/com/intellij/testGuiFramework/recorder/ContextChecker.kt
+7
-8
.../com/intellij/testGuiFramework/recorder/ContextChecker.kt
platform/testGuiFramework/src/com/intellij/testGuiFramework/recorder/ScriptGenerator.kt
+1
-1
...com/intellij/testGuiFramework/recorder/ScriptGenerator.kt
with
26 additions
and
28 deletions
+26
-28
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/ContextCodeGenerator.kt
+
2
-
3
View file @
574e6d22
...
...
@@ -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
()
=
"}"
...
...
This diff is collapsed.
Click to expand it.
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/Generators.kt
+
9
-
9
View file @
574e6d22
...
...
@@ -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 {"
}
...
...
This diff is collapsed.
Click to expand it.
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/GlobalContextCodeGenerator.kt
+
3
-
2
View file @
574e6d22
...
...
@@ -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
))
}
This diff is collapsed.
Click to expand it.
platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/LocalContextCodeGenerator.kt
+
4
-
5
View file @
574e6d22
...
...
@@ -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
))
}
...
...
This diff is collapsed.
Click to expand it.
platform/testGuiFramework/src/com/intellij/testGuiFramework/recorder/ContextChecker.kt
+
7
-
8
View file @
574e6d22
...
...
@@ -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
)
{
...
...
This diff is collapsed.
Click to expand it.
platform/testGuiFramework/src/com/intellij/testGuiFramework/recorder/ScriptGenerator.kt
+
1
-
1
View file @
574e6d22
...
...
@@ -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
(
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help