diff --git a/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt b/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt index 23957cf100e7..8350556f3940 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt @@ -13,17 +13,17 @@ import com.intellij.java.ift.lesson.refactorings.JavaRenameLesson import com.intellij.java.ift.lesson.run.JavaDebugLesson import com.intellij.java.ift.lesson.run.JavaRunConfigurationLesson import com.intellij.lang.java.JavaLanguage -import training.learn.LearningModule +import training.dsl.LessonUtil import training.learn.LessonsBundle import training.learn.course.LearningCourseBase -import training.learn.interfaces.LessonType +import training.learn.course.LearningModule +import training.learn.course.LessonType import training.learn.lesson.general.* import training.learn.lesson.general.assistance.CodeFormatLesson import training.learn.lesson.general.assistance.ParameterInfoLesson import training.learn.lesson.general.assistance.QuickPopupsLesson import training.learn.lesson.general.navigation.FindInFilesLesson import training.learn.lesson.general.refactorings.ExtractVariableFromBubbleLesson -import training.learn.lesson.kimpl.LessonUtil class JavaLearningCourse : LearningCourseBase(JavaLanguage.INSTANCE.id) { override fun modules() = listOf( diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/assistance/JavaEditorCodingAssistanceLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/assistance/JavaEditorCodingAssistanceLesson.kt index e9a8921146f3..db021d493432 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/assistance/JavaEditorCodingAssistanceLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/assistance/JavaEditorCodingAssistanceLesson.kt @@ -3,8 +3,8 @@ package com.intellij.java.ift.lesson.assistance import com.intellij.codeInsight.daemon.QuickFixBundle import com.siyeh.InspectionGadgetsBundle +import training.dsl.LessonSample import training.learn.lesson.general.assistance.EditorCodingAssistanceLesson -import training.learn.lesson.kimpl.LessonSample class JavaEditorCodingAssistanceLesson(lang: String, sample: LessonSample) : EditorCodingAssistanceLesson(lang, sample) { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaContextActionsLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaContextActionsLesson.kt index c2ef9948cc74..97dae83735ed 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaContextActionsLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaContextActionsLesson.kt @@ -3,9 +3,9 @@ package com.intellij.java.ift.lesson.basic import com.intellij.codeInsight.daemon.QuickFixBundle import com.siyeh.IntentionPowerPackBundle +import training.dsl.LessonSample +import training.dsl.parseLessonSample import training.learn.lesson.general.ContextActionsLesson -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.parseLessonSample class JavaContextActionsLesson : ContextActionsLesson("JAVA") { override val sample: LessonSample = parseLessonSample(""" diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSelectLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSelectLesson.kt index e0971d15c0aa..45f21e21afa5 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSelectLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSelectLesson.kt @@ -1,9 +1,9 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.java.ift.lesson.basic +import training.dsl.LessonSample +import training.dsl.parseLessonSample import training.learn.lesson.general.NewSelectLesson -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.parseLessonSample class JavaSelectLesson : NewSelectLesson("JAVA") { override val selectArgument = "\"$selectString\"" diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSurroundAndUnwrapLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSurroundAndUnwrapLesson.kt index 92aa928d207a..fca9a5bc5579 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSurroundAndUnwrapLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/basic/JavaSurroundAndUnwrapLesson.kt @@ -2,10 +2,10 @@ package com.intellij.java.ift.lesson.basic import com.intellij.java.ift.JavaLessonsBundle +import training.dsl.LessonSample +import training.dsl.parseLessonSample import training.learn.LessonsBundle import training.learn.lesson.general.SurroundAndUnwrapLesson -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.parseLessonSample class JavaSurroundAndUnwrapLesson : SurroundAndUnwrapLesson("JAVA") { override val sample: LessonSample = parseLessonSample(""" diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaBasicCompletionLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaBasicCompletionLesson.kt index e7c25622aea5..1765cc88498f 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaBasicCompletionLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaBasicCompletionLesson.kt @@ -3,13 +3,13 @@ package com.intellij.java.ift.lesson.completion import com.intellij.java.ift.JavaLangSupport import com.intellij.java.ift.JavaLessonsBundle +import training.dsl.LessonContext +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.LessonUtil.restoreIfModifiedOrMovedIncorrectly +import training.dsl.parseLessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMovedIncorrectly -import training.learn.lesson.kimpl.parseLessonSample +import training.learn.course.KLesson class JavaBasicCompletionLesson : KLesson("Basic completion", LessonsBundle.message("basic.completion.lesson.name"), JavaLangSupport.lang) { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaCompletionWithTabLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaCompletionWithTabLesson.kt index 7e40f4c0a6cc..d93110de4d9e 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaCompletionWithTabLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaCompletionWithTabLesson.kt @@ -2,8 +2,8 @@ package com.intellij.java.ift.lesson.completion import com.intellij.java.ift.JavaLangSupport +import training.dsl.parseLessonSample import training.learn.lesson.general.CompletionWithTabLesson -import training.learn.lesson.kimpl.parseLessonSample class JavaCompletionWithTabLesson : CompletionWithTabLesson(JavaLangSupport.lang, "DO_NOTHING_ON_CLOSE") { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaPostfixCompletionLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaPostfixCompletionLesson.kt index 375c82e3a3cd..4ace9da11ba5 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaPostfixCompletionLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaPostfixCompletionLesson.kt @@ -3,10 +3,10 @@ package com.intellij.java.ift.lesson.completion import com.intellij.java.ift.JavaLangSupport import com.intellij.java.ift.JavaLessonsBundle +import training.dsl.LessonContext +import training.dsl.parseLessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.parseLessonSample +import training.learn.course.KLesson class JavaPostfixCompletionLesson : KLesson("Postfix completion", LessonsBundle.message("postfix.completion.lesson.name"), JavaLangSupport.lang) { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaSmartTypeCompletionLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaSmartTypeCompletionLesson.kt index 92c879d4ea42..e6366478ad99 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaSmartTypeCompletionLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaSmartTypeCompletionLesson.kt @@ -3,10 +3,10 @@ package com.intellij.java.ift.lesson.completion import com.intellij.java.ift.JavaLangSupport import com.intellij.java.ift.JavaLessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.LessonContext +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.parseLessonSample +import training.learn.course.KLesson class JavaSmartTypeCompletionLesson : KLesson("Smart type completion", JavaLessonsBundle.message("java.smart.type.completion.lesson.name"), JavaLangSupport.lang) { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaStatementCompletionLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaStatementCompletionLesson.kt index 6d60d6e93a6e..5693fd167849 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaStatementCompletionLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/completion/JavaStatementCompletionLesson.kt @@ -6,12 +6,12 @@ import com.intellij.java.ift.JavaLessonsBundle import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiForStatement import com.intellij.psi.util.PsiTreeUtil -import training.commands.kotlin.TaskRuntimeContext -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.LessonContext +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskRuntimeContext +import training.dsl.parseLessonSample +import training.learn.course.KLesson class JavaStatementCompletionLesson : KLesson("Statement completion", JavaLessonsBundle.message("java.statement.completion.lesson.name"), JavaLangSupport.lang) { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaDeclarationAndUsagesLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaDeclarationAndUsagesLesson.kt index 382e658c0e27..ebf2d3a82afe 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaDeclarationAndUsagesLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaDeclarationAndUsagesLesson.kt @@ -1,8 +1,8 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.java.ift.lesson.navigation +import training.dsl.LessonContext import training.learn.lesson.general.navigation.DeclarationAndUsagesLesson -import training.learn.lesson.kimpl.LessonContext class JavaDeclarationAndUsagesLesson : DeclarationAndUsagesLesson("JAVA") { override fun LessonContext.setInitialPosition() = caret("foo()") diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaInheritanceHierarchyLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaInheritanceHierarchyLesson.kt index e6fbbaf2f0bb..307a86929a5f 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaInheritanceHierarchyLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaInheritanceHierarchyLesson.kt @@ -14,10 +14,9 @@ import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key import com.intellij.ui.InplaceButton import com.intellij.ui.UIBundle -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.* +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson class JavaInheritanceHierarchyLesson : KLesson("java.inheritance.hierarchy.lesson", JavaLessonsBundle.message("java.inheritance.hierarchy.lesson.name"), "JAVA") { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaOccurrencesLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaOccurrencesLesson.kt index 6215be617f29..8cd6b40236c5 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaOccurrencesLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaOccurrencesLesson.kt @@ -7,12 +7,12 @@ import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.impl.actionButton import com.intellij.testGuiFramework.util.Key import com.intellij.usageView.UsageViewBundle -import training.learn.interfaces.LessonType -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.LessonContext +import training.dsl.LessonUtil +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.parseLessonSample +import training.learn.course.KLesson +import training.learn.course.LessonType class JavaOccurrencesLesson : KLesson("java.occurrences.lesson", JavaLessonsBundle.message("java.find.occurrences.lesson.name"), "JAVA") { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaRecentFilesLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaRecentFilesLesson.kt index 812221adc5cc..f5c5ddae88e0 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaRecentFilesLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaRecentFilesLesson.kt @@ -1,8 +1,8 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.java.ift.lesson.navigation +import training.dsl.LessonContext import training.learn.lesson.general.navigation.RecentFilesLesson -import training.learn.lesson.kimpl.LessonContext class JavaRecentFilesLesson : RecentFilesLesson("JAVA") { override val existedFile: String = "src/RecentFilesDemo.java" diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaSearchEverywhereLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaSearchEverywhereLesson.kt index a0e81680e047..f770d17d69d5 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaSearchEverywhereLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/navigation/JavaSearchEverywhereLesson.kt @@ -1,9 +1,9 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.java.ift.lesson.navigation +import training.dsl.LessonContext import training.learn.LessonsBundle import training.learn.lesson.general.navigation.SearchEverywhereLesson -import training.learn.lesson.kimpl.LessonContext class JavaSearchEverywhereLesson : SearchEverywhereLesson("JAVA") { override val existedFile = "src/RecentFilesDemo.java" diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaExtractMethodCocktailSortLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaExtractMethodCocktailSortLesson.kt index f4a598691383..0fa5c03659a7 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaExtractMethodCocktailSortLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaExtractMethodCocktailSortLesson.kt @@ -6,13 +6,13 @@ import com.intellij.refactoring.RefactoringBundle import com.intellij.refactoring.extractMethod.ExtractMethodHandler import com.intellij.testGuiFramework.impl.button import com.intellij.ui.UIBundle -import training.commands.kotlin.TaskTestContext +import training.dsl.LessonContext +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskTestContext +import training.dsl.dropMnemonic +import training.dsl.parseLessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.dropMnemonic -import training.learn.lesson.kimpl.parseLessonSample +import training.learn.course.KLesson import javax.swing.JDialog class JavaExtractMethodCocktailSortLesson diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRefactoringMenuLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRefactoringMenuLesson.kt index 7ce220fbc107..85cdcfe751a7 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRefactoringMenuLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRefactoringMenuLesson.kt @@ -7,12 +7,12 @@ import com.intellij.refactoring.RefactoringBundle import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key import com.intellij.util.ui.UIUtil -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonUtil +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskRuntimeContext +import training.dsl.parseLessonSample import training.learn.lesson.general.refactorings.RefactoringMenuLessonBase -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.parseLessonSample import javax.swing.JDialog class JavaRefactoringMenuLesson : RefactoringMenuLessonBase("java.refactoring.menu", "JAVA") { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRenameLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRenameLesson.kt index 5c308809fbd1..2da023220cf0 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRenameLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/refactorings/JavaRenameLesson.kt @@ -8,11 +8,10 @@ import com.intellij.java.refactoring.JavaRefactoringBundle import com.intellij.refactoring.rename.RenameProcessor import com.intellij.testGuiFramework.impl.button import com.intellij.util.ui.UIUtil -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.* +import training.dsl.LessonUtil.checkExpectedStateOfEditor import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor +import training.learn.course.KLesson import javax.swing.JDialog class JavaRenameLesson diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaDebugLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaDebugLesson.kt index e5b93d173029..400cfb6d9c42 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaDebugLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaDebugLesson.kt @@ -5,10 +5,10 @@ import com.intellij.icons.AllIcons import com.intellij.java.ift.JavaLessonsBundle import com.intellij.openapi.editor.LogicalPosition import com.intellij.testGuiFramework.impl.button -import training.commands.kotlin.TaskTestContext +import training.dsl.LessonContext +import training.dsl.TaskTestContext +import training.dsl.highlightButtonById import training.learn.lesson.general.run.CommonDebugLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.highlightButtonById class JavaDebugLesson : CommonDebugLesson("java.debug.workflow", "JAVA") { private val demoClassName = JavaRunLessonsUtils.demoClassName diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunConfigurationLesson.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunConfigurationLesson.kt index a779d7d57671..8b218ad258f0 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunConfigurationLesson.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunConfigurationLesson.kt @@ -7,11 +7,11 @@ import com.intellij.java.ift.JavaLessonsBundle import com.intellij.openapi.actionSystem.CommonDataKeys import com.intellij.openapi.actionSystem.DataProvider import com.intellij.openapi.editor.ex.EditorGutterComponentEx +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.checkToolWindowState +import training.dsl.dropMnemonic import training.learn.lesson.general.run.CommonRunConfigurationLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.checkToolWindowState -import training.learn.lesson.kimpl.dropMnemonic import java.awt.Rectangle class JavaRunConfigurationLesson : CommonRunConfigurationLesson("java.run.configuration", "JAVA") { diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunLessonsUtils.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunLessonsUtils.kt index ace401cb0dda..ad15be0892ed 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunLessonsUtils.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/run/JavaRunLessonsUtils.kt @@ -1,7 +1,7 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.java.ift.lesson.run -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.parseLessonSample object JavaRunLessonsUtils { const val demoClassName = "Sample" diff --git a/plugins/ide-features-trainer/res/META-INF/plugin.xml b/plugins/ide-features-trainer/res/META-INF/plugin.xml index 11fac38b0b5f..ac6eca526f7d 100644 --- a/plugins/ide-features-trainer/res/META-INF/plugin.xml +++ b/plugins/ide-features-trainer/res/META-INF/plugin.xml @@ -29,7 +29,7 @@ - + diff --git a/plugins/ide-features-trainer/src/training/actions/DumpFeaturesTrainerText.kt b/plugins/ide-features-trainer/src/training/actions/DumpFeaturesTrainerText.kt index 90e73beb55d7..29e66ffec9ae 100644 --- a/plugins/ide-features-trainer/src/training/actions/DumpFeaturesTrainerText.kt +++ b/plugins/ide-features-trainer/src/training/actions/DumpFeaturesTrainerText.kt @@ -5,12 +5,12 @@ import com.intellij.ide.CopyPasteManagerEx import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.project.Project -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LearningBalloonConfig +import training.dsl.TaskContext +import training.dsl.TaskRuntimeContext +import training.dsl.impl.ApplyTaskLessonContext import training.learn.CourseManager -import training.learn.lesson.kimpl.ApplyTaskLessonContext -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LearningBalloonConfig +import training.learn.course.KLesson import java.awt.datatransfer.StringSelection class DumpFeaturesTrainerText : AnAction() { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningBalloonConfig.kt b/plugins/ide-features-trainer/src/training/dsl/LearningBalloonConfig.kt similarity index 93% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningBalloonConfig.kt rename to plugins/ide-features-trainer/src/training/dsl/LearningBalloonConfig.kt index 5c223754474d..64e534f4d196 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningBalloonConfig.kt +++ b/plugins/ide-features-trainer/src/training/dsl/LearningBalloonConfig.kt @@ -1,5 +1,5 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +package training.dsl import com.intellij.openapi.ui.popup.Balloon import javax.swing.JComponent diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningDsl.kt b/plugins/ide-features-trainer/src/training/dsl/LearningDsl.kt similarity index 54% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningDsl.kt rename to plugins/ide-features-trainer/src/training/dsl/LearningDsl.kt index 4317aa983a66..611908630ae1 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningDsl.kt +++ b/plugins/ide-features-trainer/src/training/dsl/LearningDsl.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl @DslMarker annotation class LearningDsl diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningDslBase.kt b/plugins/ide-features-trainer/src/training/dsl/LearningDslBase.kt similarity index 91% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningDslBase.kt rename to plugins/ide-features-trainer/src/training/dsl/LearningDslBase.kt index 3e621b515101..913a672911bd 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LearningDslBase.kt +++ b/plugins/ide-features-trainer/src/training/dsl/LearningDslBase.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.util.text.StringUtil import training.ui.LearningUiManager diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonContext.kt b/plugins/ide-features-trainer/src/training/dsl/LessonContext.kt similarity index 92% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonContext.kt rename to plugins/ide-features-trainer/src/training/dsl/LessonContext.kt index d9a2c33d214b..6c7d19c991fb 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonContext.kt +++ b/plugins/ide-features-trainer/src/training/dsl/LessonContext.kt @@ -1,13 +1,11 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.application.ModalityState import com.intellij.openapi.application.invokeLater import com.intellij.util.concurrency.annotations.RequiresEdt import org.intellij.lang.annotations.Language import org.jetbrains.annotations.Nls -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext @LearningDsl abstract class LessonContext: LearningDslBase { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonSample.kt b/plugins/ide-features-trainer/src/training/dsl/LessonSample.kt similarity index 97% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonSample.kt rename to plugins/ide-features-trainer/src/training/dsl/LessonSample.kt index 9fe421b8ae22..ae1e5672b8e3 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonSample.kt +++ b/plugins/ide-features-trainer/src/training/dsl/LessonSample.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.editor.Editor diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonUtil.kt b/plugins/ide-features-trainer/src/training/dsl/LessonUtil.kt similarity index 98% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonUtil.kt rename to plugins/ide-features-trainer/src/training/dsl/LessonUtil.kt index 98cf67a3252c..2167213850a7 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonUtil.kt +++ b/plugins/ide-features-trainer/src/training/dsl/LessonUtil.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.actionSystem.* import com.intellij.openapi.actionSystem.impl.ActionButton @@ -29,13 +29,12 @@ import com.intellij.util.ui.UIUtil import com.intellij.xdebugger.XDebuggerManager import org.fest.swing.timing.Timeout import org.jetbrains.annotations.Nls -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.keymap.KeymapUtil +import training.dsl.* import training.learn.LearnBundle import training.learn.LessonsBundle import training.ui.LearningUiHighlightingManager import training.ui.LearningUiUtil +import training.util.KeymapUtil import java.awt.Component import java.awt.Rectangle import java.awt.event.KeyEvent diff --git a/plugins/ide-features-trainer/src/training/commands/kotlin/PreviousTaskInfo.kt b/plugins/ide-features-trainer/src/training/dsl/PreviousTaskInfo.kt similarity index 70% rename from plugins/ide-features-trainer/src/training/commands/kotlin/PreviousTaskInfo.kt rename to plugins/ide-features-trainer/src/training/dsl/PreviousTaskInfo.kt index f89f17df53d7..07f3a52180c4 100644 --- a/plugins/ide-features-trainer/src/training/commands/kotlin/PreviousTaskInfo.kt +++ b/plugins/ide-features-trainer/src/training/dsl/PreviousTaskInfo.kt @@ -1,9 +1,8 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.commands.kotlin +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.editor.LogicalPosition import com.intellij.openapi.vfs.VirtualFile -import training.learn.lesson.kimpl.LessonSample import java.awt.Component interface PreviousTaskInfo { diff --git a/plugins/ide-features-trainer/src/training/commands/kotlin/TaskContext.kt b/plugins/ide-features-trainer/src/training/dsl/TaskContext.kt similarity index 98% rename from plugins/ide-features-trainer/src/training/commands/kotlin/TaskContext.kt rename to plugins/ide-features-trainer/src/training/dsl/TaskContext.kt index b8123ed91343..2f216cc40a46 100644 --- a/plugins/ide-features-trainer/src/training/commands/kotlin/TaskContext.kt +++ b/plugins/ide-features-trainer/src/training/dsl/TaskContext.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.commands.kotlin +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.project.Project @@ -9,7 +9,6 @@ import org.fest.swing.timing.Timeout import org.intellij.lang.annotations.Language import org.jetbrains.annotations.Nls import training.learn.LearnBundle -import training.learn.lesson.kimpl.* import training.ui.LearningUiHighlightingManager import training.ui.LearningUiUtil import java.awt.Component diff --git a/plugins/ide-features-trainer/src/training/commands/kotlin/TaskRuntimeContext.kt b/plugins/ide-features-trainer/src/training/dsl/TaskRuntimeContext.kt similarity index 97% rename from plugins/ide-features-trainer/src/training/commands/kotlin/TaskRuntimeContext.kt rename to plugins/ide-features-trainer/src/training/dsl/TaskRuntimeContext.kt index 4bda8d6550b3..1f0262d8d1b2 100644 --- a/plugins/ide-features-trainer/src/training/commands/kotlin/TaskRuntimeContext.kt +++ b/plugins/ide-features-trainer/src/training/dsl/TaskRuntimeContext.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.commands.kotlin +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.Disposable import com.intellij.openapi.application.ModalityState @@ -19,8 +19,8 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.wm.IdeFocusManager import com.intellij.psi.PsiDocumentManager import com.intellij.util.DocumentUtil +import training.dsl.impl.LessonExecutor import training.learn.ActionsRecorder -import training.learn.lesson.kimpl.* import java.awt.Component @LearningDsl diff --git a/plugins/ide-features-trainer/src/training/commands/kotlin/TaskTestContext.kt b/plugins/ide-features-trainer/src/training/dsl/TaskTestContext.kt similarity index 92% rename from plugins/ide-features-trainer/src/training/commands/kotlin/TaskTestContext.kt rename to plugins/ide-features-trainer/src/training/dsl/TaskTestContext.kt index f3d6132251b8..bc943a7506b2 100644 --- a/plugins/ide-features-trainer/src/training/commands/kotlin/TaskTestContext.kt +++ b/plugins/ide-features-trainer/src/training/dsl/TaskTestContext.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.commands.kotlin +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl import com.intellij.openapi.actionSystem.ActionManager import com.intellij.testGuiFramework.cellReader.ExtendedJListCellReader @@ -15,7 +15,6 @@ import org.fest.swing.core.Robot import org.fest.swing.fixture.ContainerFixture import org.fest.swing.fixture.JListFixture import org.fest.swing.timing.Timeout -import training.learn.lesson.kimpl.LearningDsl import training.util.invokeActionForFocusContext import java.awt.Component import java.awt.Container @@ -72,7 +71,8 @@ class TaskTestContext(rt: TaskRuntimeContext): TaskRuntimeContext(rt) { } - class SimpleComponentFixture(robot: Robot, target: Component): ComponentFixture(SimpleComponentFixture::class.java, robot, target) + class SimpleComponentFixture(robot: Robot, target: Component): ComponentFixture( + SimpleComponentFixture::class.java, robot, target) fun IdeFrameFixture.jComponent(target: Component): SimpleComponentFixture { return SimpleComponentFixture(robot(), target) diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/ApplyTaskLessonContext.kt b/plugins/ide-features-trainer/src/training/dsl/impl/ApplyTaskLessonContext.kt similarity index 78% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/ApplyTaskLessonContext.kt rename to plugins/ide-features-trainer/src/training/dsl/impl/ApplyTaskLessonContext.kt index dfa4ed88fb99..acf0df57a34d 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/ApplyTaskLessonContext.kt +++ b/plugins/ide-features-trainer/src/training/dsl/impl/ApplyTaskLessonContext.kt @@ -1,7 +1,8 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +package training.dsl.impl -import training.commands.kotlin.TaskContext +import training.dsl.LessonContext +import training.dsl.TaskContext internal class ApplyTaskLessonContext(private val taskContext: TaskContext) : LessonContext() { override fun task(taskContent: TaskContext.() -> Unit) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonContextImpl.kt b/plugins/ide-features-trainer/src/training/dsl/impl/LessonContextImpl.kt similarity index 69% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonContextImpl.kt rename to plugins/ide-features-trainer/src/training/dsl/impl/LessonContextImpl.kt index 206652f2fab3..cbc1d2a62074 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonContextImpl.kt +++ b/plugins/ide-features-trainer/src/training/dsl/impl/LessonContextImpl.kt @@ -1,7 +1,8 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl.impl -import training.commands.kotlin.TaskContext +import training.dsl.LessonContext +import training.dsl.TaskContext class LessonContextImpl(private val executor: LessonExecutor): LessonContext() { override fun task(taskContent: TaskContext.() -> Unit) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonExecutor.kt b/plugins/ide-features-trainer/src/training/dsl/impl/LessonExecutor.kt similarity index 98% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonExecutor.kt rename to plugins/ide-features-trainer/src/training/dsl/impl/LessonExecutor.kt index 07749d009f11..a7772b7c70c2 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonExecutor.kt +++ b/plugins/ide-features-trainer/src/training/dsl/impl/LessonExecutor.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl.impl import com.intellij.openapi.Disposable import com.intellij.openapi.application.ApplicationManager @@ -15,10 +15,9 @@ import com.intellij.openapi.util.Disposer import com.intellij.openapi.vfs.VirtualFile import com.intellij.util.Alarm import org.intellij.lang.annotations.Language -import training.commands.kotlin.PreviousTaskInfo -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* import training.learn.ActionsRecorder +import training.learn.course.KLesson import training.learn.exceptons.NoTextEditor import training.learn.lesson.LessonManager import training.statistic.StatisticBase diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonExecutorUtil.kt b/plugins/ide-features-trainer/src/training/dsl/impl/LessonExecutorUtil.kt similarity index 96% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonExecutorUtil.kt rename to plugins/ide-features-trainer/src/training/dsl/impl/LessonExecutorUtil.kt index afb49d0195f2..c261fa6ffc3b 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonExecutorUtil.kt +++ b/plugins/ide-features-trainer/src/training/dsl/impl/LessonExecutorUtil.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl.impl import com.intellij.openapi.application.invokeLater import com.intellij.openapi.project.Project @@ -11,9 +11,10 @@ import com.intellij.openapi.ui.popup.LightweightWindowEvent import com.intellij.ui.UIBundle import com.intellij.ui.awt.RelativePoint import com.intellij.util.Alarm -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext +import training.dsl.LearningBalloonConfig +import training.dsl.TaskContext +import training.dsl.TaskRuntimeContext +import training.dsl.TaskTestContext import training.learn.ActionsRecorder import training.learn.LearnBundle import training.learn.lesson.LessonManager diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/OpenPassedContext.kt b/plugins/ide-features-trainer/src/training/dsl/impl/OpenPassedContext.kt similarity index 75% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/OpenPassedContext.kt rename to plugins/ide-features-trainer/src/training/dsl/impl/OpenPassedContext.kt index 85bfd103d40f..36984a623725 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/OpenPassedContext.kt +++ b/plugins/ide-features-trainer/src/training/dsl/impl/OpenPassedContext.kt @@ -1,8 +1,10 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl.impl import com.intellij.openapi.project.Project -import training.commands.kotlin.TaskContext +import training.dsl.LearningBalloonConfig +import training.dsl.LessonContext +import training.dsl.TaskContext import training.learn.lesson.LessonManager class OpenPassedContext(private val project: Project) : LessonContext() { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/TaskContextImpl.kt b/plugins/ide-features-trainer/src/training/dsl/impl/TaskContextImpl.kt similarity index 97% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/TaskContextImpl.kt rename to plugins/ide-features-trainer/src/training/dsl/impl/TaskContextImpl.kt index c2a4ac7d208b..97ad8da47fb0 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/TaskContextImpl.kt +++ b/plugins/ide-features-trainer/src/training/dsl/impl/TaskContextImpl.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.dsl.impl import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.ModalityState @@ -17,9 +17,7 @@ import com.intellij.ui.EditorNotifications import org.fest.swing.exception.ComponentLookupException import org.fest.swing.exception.WaitTimedOutError import org.intellij.lang.annotations.Language -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* import training.learn.ActionsRecorder import training.learn.LearnBundle import training.learn.lesson.LessonManager diff --git a/plugins/ide-features-trainer/src/training/learn/ActionsRecorder.kt b/plugins/ide-features-trainer/src/training/learn/ActionsRecorder.kt index a6e26649261d..3106e74a7511 100644 --- a/plugins/ide-features-trainer/src/training/learn/ActionsRecorder.kt +++ b/plugins/ide-features-trainer/src/training/learn/ActionsRecorder.kt @@ -21,7 +21,7 @@ import com.intellij.openapi.util.Disposer import com.intellij.openapi.util.Pair import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.PsiDocumentManager -import training.commands.kotlin.TaskContext +import training.dsl.TaskContext import training.learn.exceptons.NoTextEditor import training.learn.lesson.LessonManager import training.ui.LearningUiManager diff --git a/plugins/ide-features-trainer/src/training/learn/CourseManager.kt b/plugins/ide-features-trainer/src/training/learn/CourseManager.kt index c78d9633e1e6..6c82735f6a81 100644 --- a/plugins/ide-features-trainer/src/training/learn/CourseManager.kt +++ b/plugins/ide-features-trainer/src/training/learn/CourseManager.kt @@ -10,8 +10,9 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.util.containers.ContainerUtil import training.lang.LangManager import training.lang.LangSupport -import training.learn.interfaces.Lesson -import training.learn.interfaces.Module +import training.learn.course.LearningCourse +import training.learn.course.Lesson +import training.learn.course.Module import training.learn.lesson.LessonManager import training.ui.LearnToolWindowFactory import training.util.WeakReferenceDelegator diff --git a/plugins/ide-features-trainer/src/training/learn/OpenLessonActivities.kt b/plugins/ide-features-trainer/src/training/learn/OpenLessonActivities.kt index c0fe9925f9ef..a48e29a6b977 100644 --- a/plugins/ide-features-trainer/src/training/learn/OpenLessonActivities.kt +++ b/plugins/ide-features-trainer/src/training/learn/OpenLessonActivities.kt @@ -24,17 +24,17 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.wm.ToolWindowManager import com.intellij.util.Alarm import com.intellij.util.concurrency.annotations.RequiresEdt +import training.dsl.LessonUtil +import training.dsl.impl.LessonContextImpl +import training.dsl.impl.LessonExecutor import training.lang.LangManager import training.lang.LangSupport -import training.learn.interfaces.Lesson -import training.learn.interfaces.LessonType +import training.learn.course.KLesson +import training.learn.course.Lesson +import training.learn.course.LessonType import training.learn.lesson.LessonManager -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContextImpl -import training.learn.lesson.kimpl.LessonExecutor -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.listeners.StatisticLessonListener import training.project.ProjectUtils +import training.statistic.StatisticLessonListener import training.ui.LearnToolWindowFactory import training.ui.LearningUiManager import training.util.findLanguageByID diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/KLesson.kt b/plugins/ide-features-trainer/src/training/learn/course/KLesson.kt similarity index 78% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/KLesson.kt rename to plugins/ide-features-trainer/src/training/learn/course/KLesson.kt index 2792f3a54115..0d2184257eac 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/KLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/KLesson.kt @@ -1,11 +1,9 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.learn.course import org.jetbrains.annotations.Nls import org.jetbrains.annotations.NonNls -import training.learn.interfaces.Lesson -import training.learn.interfaces.LessonType -import training.learn.interfaces.Module +import training.dsl.LessonContext import training.learn.lesson.LessonListener import training.util.findLanguageByID diff --git a/plugins/ide-features-trainer/src/training/learn/LearningCourse.kt b/plugins/ide-features-trainer/src/training/learn/course/LearningCourse.kt similarity index 52% rename from plugins/ide-features-trainer/src/training/learn/LearningCourse.kt rename to plugins/ide-features-trainer/src/training/learn/course/LearningCourse.kt index 1db63c5282f1..84fc324c4a99 100644 --- a/plugins/ide-features-trainer/src/training/learn/LearningCourse.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/LearningCourse.kt @@ -1,6 +1,5 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn -import training.learn.interfaces.Module +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.learn.course interface LearningCourse { fun modules() : Collection diff --git a/plugins/ide-features-trainer/src/training/learn/course/LearningCourseBase.kt b/plugins/ide-features-trainer/src/training/learn/course/LearningCourseBase.kt index d1260fbfb0ac..8f55a40be51e 100644 --- a/plugins/ide-features-trainer/src/training/learn/course/LearningCourseBase.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/LearningCourseBase.kt @@ -1,11 +1,10 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.course +import training.dsl.LessonSample +import training.dsl.parseLessonSample import training.lang.LangManager import training.lang.LangSupport -import training.learn.LearningCourse -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.parseLessonSample import training.util.DataLoader abstract class LearningCourseBase(val lang: String) : LearningCourse { diff --git a/plugins/ide-features-trainer/src/training/learn/LearningModule.kt b/plugins/ide-features-trainer/src/training/learn/course/LearningModule.kt similarity index 80% rename from plugins/ide-features-trainer/src/training/learn/LearningModule.kt rename to plugins/ide-features-trainer/src/training/learn/course/LearningModule.kt index 74afda3fec9c..561fbdc632c8 100644 --- a/plugins/ide-features-trainer/src/training/learn/LearningModule.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/LearningModule.kt @@ -1,10 +1,8 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.learn.course import org.jetbrains.annotations.Nls import training.lang.LangSupport -import training.learn.interfaces.LessonType -import training.learn.lesson.kimpl.KLesson class LearningModule(@Nls name: String, @Nls description: String, diff --git a/plugins/ide-features-trainer/src/training/learn/LearningModuleBase.kt b/plugins/ide-features-trainer/src/training/learn/course/LearningModuleBase.kt similarity index 80% rename from plugins/ide-features-trainer/src/training/learn/LearningModuleBase.kt rename to plugins/ide-features-trainer/src/training/learn/course/LearningModuleBase.kt index e0485205b69e..7a31e655f2c5 100644 --- a/plugins/ide-features-trainer/src/training/learn/LearningModuleBase.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/LearningModuleBase.kt @@ -1,12 +1,8 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.learn.course import org.jetbrains.annotations.Nls import training.lang.LangSupport -import training.learn.interfaces.Lesson -import training.learn.interfaces.LessonType -import training.learn.interfaces.Module -import training.learn.lesson.kimpl.KLesson abstract class LearningModuleBase(@Nls override val name: String, @Nls override val description: String, diff --git a/plugins/ide-features-trainer/src/training/learn/interfaces/Lesson.kt b/plugins/ide-features-trainer/src/training/learn/course/Lesson.kt similarity index 89% rename from plugins/ide-features-trainer/src/training/learn/interfaces/Lesson.kt rename to plugins/ide-features-trainer/src/training/learn/course/Lesson.kt index 13b62a80c7df..dd65e6d205f5 100644 --- a/plugins/ide-features-trainer/src/training/learn/interfaces/Lesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/Lesson.kt @@ -1,15 +1,14 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.interfaces +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.learn.course import com.intellij.openapi.project.Project import com.intellij.util.concurrency.annotations.RequiresBackgroundThread import org.jetbrains.annotations.Nls import org.jetbrains.annotations.NonNls -import training.commands.kotlin.TaskTestContext +import training.dsl.TaskTestContext import training.learn.lesson.LessonListener import training.learn.lesson.LessonState import training.learn.lesson.LessonStateManager -import training.learn.lesson.kimpl.LessonProperties interface Lesson { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonProperties.kt b/plugins/ide-features-trainer/src/training/learn/course/LessonProperties.kt similarity index 89% rename from plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonProperties.kt rename to plugins/ide-features-trainer/src/training/learn/course/LessonProperties.kt index a2ced6683db3..16d938d84c0d 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/kimpl/LessonProperties.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/LessonProperties.kt @@ -1,5 +1,5 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.kimpl +package training.learn.course data class LessonProperties( val canStartInDumbMode: Boolean = false, diff --git a/plugins/ide-features-trainer/src/training/learn/interfaces/LessonType.kt b/plugins/ide-features-trainer/src/training/learn/course/LessonType.kt similarity index 89% rename from plugins/ide-features-trainer/src/training/learn/interfaces/LessonType.kt rename to plugins/ide-features-trainer/src/training/learn/course/LessonType.kt index 55852d3f9b60..452f7455d0f2 100644 --- a/plugins/ide-features-trainer/src/training/learn/interfaces/LessonType.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/LessonType.kt @@ -1,5 +1,5 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.interfaces +package training.learn.course enum class LessonType(val isProject: Boolean, val isSingleEditor: Boolean) { SCRATCH(false, true), SINGLE_EDITOR(true, true), PROJECT(true, false) diff --git a/plugins/ide-features-trainer/src/training/learn/interfaces/Module.kt b/plugins/ide-features-trainer/src/training/learn/course/Module.kt similarity index 88% rename from plugins/ide-features-trainer/src/training/learn/interfaces/Module.kt rename to plugins/ide-features-trainer/src/training/learn/course/Module.kt index 3280964788e2..bb3db356fa5b 100644 --- a/plugins/ide-features-trainer/src/training/learn/interfaces/Module.kt +++ b/plugins/ide-features-trainer/src/training/learn/course/Module.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.interfaces +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.learn.course import com.intellij.openapi.util.NlsSafe import org.jetbrains.annotations.Nls diff --git a/plugins/ide-features-trainer/src/training/learn/js/JSCommonLessonUtils.kt b/plugins/ide-features-trainer/src/training/learn/js/JSCommonLessonUtils.kt index 8e70ef69a616..d818727f95f1 100644 --- a/plugins/ide-features-trainer/src/training/learn/js/JSCommonLessonUtils.kt +++ b/plugins/ide-features-trainer/src/training/learn/js/JSCommonLessonUtils.kt @@ -5,7 +5,7 @@ import com.intellij.openapi.util.SystemInfo import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiElement import com.intellij.ui.components.fields.ExtendableTextField -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.TaskRuntimeContext fun TaskRuntimeContext.textBeforeCaret(text: String): Boolean { val offset = editor.caretModel.offset diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/LessonListener.kt b/plugins/ide-features-trainer/src/training/learn/lesson/LessonListener.kt index 82c6cdd3235f..da5112130b88 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/LessonListener.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/LessonListener.kt @@ -1,7 +1,7 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson -import training.learn.interfaces.Lesson +import training.learn.course.Lesson import java.util.* interface LessonListener : EventListener { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/LessonManager.kt b/plugins/ide-features-trainer/src/training/learn/lesson/LessonManager.kt index df6d13555ca1..21a9c74a13a9 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/LessonManager.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/LessonManager.kt @@ -12,11 +12,11 @@ import com.intellij.openapi.keymap.Keymap import com.intellij.openapi.keymap.KeymapManagerListener import com.intellij.openapi.project.Project import org.intellij.lang.annotations.Language -import training.commands.kotlin.TaskContext -import training.learn.interfaces.Lesson -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonExecutor -import training.learn.lesson.kimpl.OpenPassedContext +import training.dsl.TaskContext +import training.dsl.impl.LessonExecutor +import training.dsl.impl.OpenPassedContext +import training.learn.course.KLesson +import training.learn.course.Lesson import training.ui.* import training.ui.views.LearnPanel import training.util.createNamedSingleThreadExecutor diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/LessonStateBase.kt b/plugins/ide-features-trainer/src/training/learn/lesson/LessonStateBase.kt index eec979f5348a..fdc92ee63c52 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/LessonStateBase.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/LessonStateBase.kt @@ -5,7 +5,7 @@ import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.components.PersistentStateComponent import com.intellij.openapi.components.State import com.intellij.openapi.components.Storage -import training.learn.interfaces.Lesson +import training.learn.course.Lesson import training.util.trainerPluginConfigName @State(name = "LessonStateBase", storages = [Storage(value = trainerPluginConfigName)]) diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/Scenario.kt b/plugins/ide-features-trainer/src/training/learn/lesson/Scenario.kt deleted file mode 100644 index 1519583a1af1..000000000000 --- a/plugins/ide-features-trainer/src/training/learn/lesson/Scenario.kt +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson - -import org.jdom.Element -import training.util.DataLoader - -class Scenario(private val path: String, classLoader: ClassLoader) { - - val root: Element = DataLoader.getXmlRootElement(path, classLoader) - - val lang: String - get() { - val lang = root.getAttribute(LANG) - if (lang != null) return lang.value else throw Exception("Cannot get '$LANG' property for the lesson file with path: $path") - } - - val name: String - get() = root.getAttribute(NAME)!!.value - - /** - * It is a unique String attribute to distinguish different lessons with a probably similar names - */ - val id: String - get() = root.getAttribute(ID)!!.value - - val file: String? - get() = root.getAttribute(FILE)?.value - - companion object { - private const val LANG = "lang" - private const val NAME = "name" - private const val ID = "id" - private const val FILE = "file" - } - -} diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/CollapseLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/CollapseLesson.kt index 9e9a5a9099c9..bc221a2217f7 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/CollapseLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/CollapseLesson.kt @@ -1,10 +1,10 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general +import training.dsl.LessonContext +import training.dsl.LessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample +import training.learn.course.KLesson class CollapseLesson(lang: String, private val sample: LessonSample) : KLesson("Collapse", LessonsBundle.message("collapse.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/CompletionWithTabLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/CompletionWithTabLesson.kt index dfc1bed21c4f..db8c497dc739 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/CompletionWithTabLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/CompletionWithTabLesson.kt @@ -1,11 +1,11 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil.restoreIfModifiedOrMoved import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson abstract class CompletionWithTabLesson(lang: String, private val proposal: String) : KLesson("Completion with tab", LessonsBundle.message("completion.with.tab.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/ContextActionsLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/ContextActionsLesson.kt index 532f1959d72d..e1f50cd78ed5 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/ContextActionsLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/ContextActionsLesson.kt @@ -3,11 +3,10 @@ package training.learn.lesson.general import com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler import com.intellij.openapi.editor.impl.EditorComponentImpl -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.* +import training.dsl.LessonUtil.restoreIfModifiedOrMovedIncorrectly import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMovedIncorrectly +import training.learn.course.KLesson abstract class ContextActionsLesson(lang: String) : KLesson("context.actions", LessonsBundle.message("context.actions.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/DuplicateLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/DuplicateLesson.kt index a9bbf869d671..9f9d2ed775c5 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/DuplicateLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/DuplicateLesson.kt @@ -1,10 +1,10 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general +import training.dsl.LessonContext +import training.dsl.LessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample +import training.learn.course.KLesson class DuplicateLesson(lang: String, private val sample: LessonSample) : KLesson("Duplicate", LessonsBundle.message("duplicate.and.delete.lines.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/GotoActionLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/GotoActionLesson.kt index 9d304ea0008e..6fed5a464157 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/GotoActionLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/GotoActionLesson.kt @@ -13,11 +13,10 @@ import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.impl.jList import com.intellij.testGuiFramework.util.Key import com.intellij.util.ui.UIUtil -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.* import training.learn.LearnBundle import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* +import training.learn.course.KLesson import java.awt.event.KeyEvent import javax.swing.JPanel diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/MoveLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/MoveLesson.kt index 655cb0d606dd..3710f9cca04f 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/MoveLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/MoveLesson.kt @@ -1,11 +1,11 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil.restoreIfModifiedOrMoved import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson class MoveLesson(lang: String, private val caretText: String, private val sample: LessonSample) : KLesson("Move", LessonsBundle.message("move.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/MultipleSelectionHtmlLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/MultipleSelectionHtmlLesson.kt index d5685cf0209b..1395fa69f9d2 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/MultipleSelectionHtmlLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/MultipleSelectionHtmlLesson.kt @@ -4,12 +4,12 @@ package training.learn.lesson.general import com.intellij.psi.PsiDocumentManager import com.intellij.psi.html.HtmlTag import com.intellij.psi.util.PsiTreeUtil -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskRuntimeContext +import training.dsl.parseLessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.parseLessonSample +import training.learn.course.KLesson class MultipleSelectionHtmlLesson : KLesson("Multiple selections", LessonsBundle.message("multiple.selections.lesson.name"), "HTML") { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/NewSelectLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/NewSelectLesson.kt index 498738fdd173..e0f3882f73b6 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/NewSelectLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/NewSelectLesson.kt @@ -1,11 +1,13 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil.checkPositionOfEditor +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskRuntimeContext import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkPositionOfEditor -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson abstract class NewSelectLesson(lang: String) : KLesson("Select", LessonsBundle.message("selection.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/SelectLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/SelectLesson.kt index 98fac1589f78..d3140752d2c7 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/SelectLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/SelectLesson.kt @@ -1,10 +1,10 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general +import training.dsl.LessonContext +import training.dsl.LessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample +import training.learn.course.KLesson class SelectLesson(lang: String, private val sample: LessonSample) : KLesson("Select", LessonsBundle.message("selection.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/SingleLineCommentLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/SingleLineCommentLesson.kt index 504341395701..304208eabe8f 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/SingleLineCommentLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/SingleLineCommentLesson.kt @@ -4,11 +4,11 @@ package training.learn.lesson.general import com.intellij.psi.PsiComment import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiElement -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.TaskRuntimeContext import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample +import training.learn.course.KLesson class SingleLineCommentLesson(lang: String, private val sample: LessonSample) : KLesson("Comment line", LessonsBundle.message("comment.line.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/SurroundAndUnwrapLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/SurroundAndUnwrapLesson.kt index 8505676852e8..9cedda9aff96 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/SurroundAndUnwrapLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/SurroundAndUnwrapLesson.kt @@ -1,15 +1,11 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.* +import training.dsl.LessonUtil.checkExpectedStateOfEditor import training.learn.LearnBundle import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.restoreAfterStateBecomeFalse +import training.learn.course.KLesson abstract class SurroundAndUnwrapLesson(lang: String) : KLesson("Surround and unwrap", LessonsBundle.message("surround.and.unwrap.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/CodeFormatLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/CodeFormatLesson.kt index 67d693563565..e7b7c38b75ce 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/CodeFormatLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/CodeFormatLesson.kt @@ -5,12 +5,12 @@ import com.intellij.codeInsight.CodeInsightBundle import com.intellij.ide.util.PropertiesComponent import com.intellij.openapi.editor.impl.EditorComponentImpl import com.intellij.testGuiFramework.impl.button +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.restoreAfterStateBecomeFalse import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.restoreAfterStateBecomeFalse +import training.learn.course.KLesson class CodeFormatLesson(override val lang: String, private val sample: LessonSample, private val optimizeImports: Boolean) : KLesson("CodeAssistance.CodeFormatting", LessonsBundle.message("code.format.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/EditorCodingAssistanceLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/EditorCodingAssistanceLesson.kt index 89a4a81da3d2..9add94ca5f2c 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/EditorCodingAssistanceLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/EditorCodingAssistanceLesson.kt @@ -7,14 +7,10 @@ import com.intellij.testGuiFramework.impl.jList import com.intellij.testGuiFramework.util.Key import com.intellij.testGuiFramework.util.Modifier import com.intellij.testGuiFramework.util.Shortcut -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* +import training.dsl.LessonUtil.restoreIfModifiedOrMoved import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson import training.util.PerformActionUtil import javax.swing.JEditorPane diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/ParameterInfoLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/ParameterInfoLesson.kt index c6639094b9bb..ae718ea6af4b 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/ParameterInfoLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/ParameterInfoLesson.kt @@ -1,12 +1,12 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.lesson.general.assistance -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskRuntimeContext import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson import kotlin.math.min class ParameterInfoLesson(lang: String, private val sample: LessonSample) : diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/QuickPopupsLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/QuickPopupsLesson.kt index 822f269d9d5b..d18672bacb65 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/QuickPopupsLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/assistance/QuickPopupsLesson.kt @@ -6,12 +6,12 @@ import com.intellij.codeInsight.documentation.QuickDocUtil import com.intellij.codeInsight.hint.ImplementationViewComponent import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskRuntimeContext import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson class QuickPopupsLesson(lang: String, private val sample: LessonSample) : KLesson("CodeAssistance.QuickPopups", LessonsBundle.message("quick.popups.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/completion/BasicCompletionLessonBase.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/completion/BasicCompletionLessonBase.kt index a800bb9e03d7..1c5b9206b9d2 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/completion/BasicCompletionLessonBase.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/completion/BasicCompletionLessonBase.kt @@ -3,9 +3,13 @@ package training.learn.lesson.general.completion import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.restoreAfterStateBecomeFalse import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor +import training.learn.course.KLesson import javax.swing.JList abstract class BasicCompletionLessonBase(lang: String) diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/DeclarationAndUsagesLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/DeclarationAndUsagesLesson.kt index 09e6714ca270..cc5a8953ba9a 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/DeclarationAndUsagesLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/DeclarationAndUsagesLesson.kt @@ -12,14 +12,14 @@ import com.intellij.testGuiFramework.framework.GuiTestUtil.shortcut import com.intellij.testGuiFramework.util.Key import com.intellij.ui.UIBundle import com.intellij.ui.table.JBTable -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.TaskRuntimeContext +import training.dsl.checkToolWindowState +import training.dsl.closeAllFindTabs import training.learn.LearnBundle import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.checkToolWindowState -import training.learn.lesson.kimpl.closeAllFindTabs +import training.learn.course.KLesson abstract class DeclarationAndUsagesLesson(lang: String) : KLesson("Declaration and usages", LessonsBundle.message("declaration.and.usages.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FileStructureLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FileStructureLesson.kt index 3c48d59cfa2b..096a3f77dbb5 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FileStructureLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FileStructureLesson.kt @@ -7,13 +7,13 @@ import com.intellij.openapi.editor.impl.EditorComponentImpl import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key import com.intellij.ui.speedSearch.SpeedSearchSupply -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.LessonContext +import training.dsl.LessonUtil +import training.dsl.TaskRuntimeContext +import training.dsl.restoreAfterStateBecomeFalse import training.learn.LessonsBundle -import training.learn.interfaces.LessonType -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.kimpl.restoreAfterStateBecomeFalse +import training.learn.course.KLesson +import training.learn.course.LessonType abstract class FileStructureLesson(lang: String) : KLesson("File structure", LessonsBundle.message("file.structure.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FindInFilesLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FindInFilesLesson.kt index 415ef0a0f1a3..40ce47cd0820 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FindInFilesLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/FindInFilesLesson.kt @@ -20,11 +20,9 @@ import com.intellij.util.ui.UIUtil import org.fest.swing.core.MouseClickInfo import org.fest.swing.data.TableCell import org.fest.swing.fixture.JTextComponentFixture -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* +import training.learn.course.KLesson import java.awt.event.InputEvent import java.awt.event.KeyEvent import javax.swing.* diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/RecentFilesLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/RecentFilesLesson.kt index 1efd2489bc2c..d17564ab2601 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/RecentFilesLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/RecentFilesLesson.kt @@ -15,17 +15,12 @@ import com.intellij.ui.components.JBList import com.intellij.ui.speedSearch.SpeedSearchSupply import com.intellij.util.ui.UIUtil import icons.FeaturesTrainerIcons -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* +import training.dsl.LessonUtil.restoreIfModifiedOrMoved import training.learn.LearnBundle import training.learn.LessonsBundle +import training.learn.course.KLesson import training.learn.lesson.LessonManager -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved -import training.learn.lesson.kimpl.defaultRestoreDelay import java.awt.event.KeyEvent import javax.swing.JComponent import javax.swing.JLabel diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/SearchEverywhereLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/SearchEverywhereLesson.kt index 309382d3c407..becfae38e8b8 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/SearchEverywhereLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/navigation/SearchEverywhereLesson.kt @@ -14,14 +14,10 @@ import com.intellij.testGuiFramework.util.Modifier import com.intellij.testGuiFramework.util.Shortcut import com.intellij.ui.components.fields.ExtendableTextField import com.intellij.util.ui.UIUtil -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* import training.learn.LessonsBundle -import training.learn.interfaces.LessonType -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.kimpl.restoreAfterStateBecomeFalse +import training.learn.course.KLesson +import training.learn.course.LessonType import java.awt.event.KeyEvent import javax.swing.JList diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractMethodCocktailSortLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractMethodCocktailSortLesson.kt index 70b761fa2871..42c39b0b1d6a 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractMethodCocktailSortLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractMethodCocktailSortLesson.kt @@ -5,11 +5,10 @@ import com.intellij.CommonBundle import com.intellij.refactoring.RefactoringBundle import com.intellij.testGuiFramework.impl.button import com.intellij.ui.UIBundle -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* +import training.dsl.LessonUtil.restoreIfModifiedOrMoved import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson import javax.swing.JButton import javax.swing.JDialog diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractVariableFromBubleLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractVariableFromBubleLesson.kt index e807f9ac6626..8b9a1690abf5 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractVariableFromBubleLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/ExtractVariableFromBubleLesson.kt @@ -3,9 +3,13 @@ package training.learn.lesson.general.refactorings import com.intellij.testGuiFramework.impl.jList import com.intellij.ui.components.JBList +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.LessonUtil +import training.dsl.LessonUtil.restoreIfModifiedOrMoved +import training.dsl.restoreAfterStateBecomeFalse import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson class ExtractVariableFromBubbleLesson(lang: String, private val sample: LessonSample) : KLesson("Extract variable", LessonsBundle.message("extract.variable.lesson.name"), lang) { diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/RefactoringMenuLessonBase.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/RefactoringMenuLessonBase.kt index dda444a3aedd..59ccb9ac7058 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/RefactoringMenuLessonBase.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/refactorings/RefactoringMenuLessonBase.kt @@ -6,11 +6,10 @@ import com.intellij.refactoring.rename.inplace.InplaceRefactoring import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key import com.intellij.ui.components.JBList -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.* +import training.dsl.LessonUtil.restoreIfModifiedOrMoved import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved +import training.learn.course.KLesson import javax.swing.JList abstract class RefactoringMenuLessonBase(lessonId: String, languageId: String) diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonDebugLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonDebugLesson.kt index 648fc7ed932d..2a82c95e4f27 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonDebugLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonDebugLesson.kt @@ -29,20 +29,18 @@ import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil import com.intellij.xdebugger.impl.frame.XDebuggerFramesList import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree import org.jetbrains.annotations.Nls -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext -import training.keymap.KeymapUtil +import training.dsl.* +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.LessonUtil.checkPositionOfEditor +import training.dsl.LessonUtil.highlightBreakpointGutter +import training.dsl.LessonUtil.sampleRestoreNotification import training.learn.CourseManager import training.learn.LessonsBundle +import training.learn.course.KLesson import training.learn.lesson.LessonManager -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.LessonUtil.checkPositionOfEditor -import training.learn.lesson.kimpl.LessonUtil.highlightBreakpointGutter -import training.learn.lesson.kimpl.LessonUtil.sampleRestoreNotification import training.ui.LearningUiHighlightingManager import training.ui.LearningUiManager +import training.util.KeymapUtil import training.util.WeakReferenceDelegator import training.util.invokeActionForFocusContext import java.awt.Rectangle diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonRunConfigurationLesson.kt b/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonRunConfigurationLesson.kt index 862bc7ee86e4..48809d7f2602 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonRunConfigurationLesson.kt +++ b/plugins/ide-features-trainer/src/training/learn/lesson/general/run/CommonRunConfigurationLesson.kt @@ -9,11 +9,9 @@ import com.intellij.testGuiFramework.impl.button import com.intellij.testGuiFramework.impl.jList import com.intellij.ui.UIBundle import com.intellij.ui.components.JBCheckBox -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* import training.learn.LessonsBundle -import training.learn.lesson.kimpl.* +import training.learn.course.KLesson import training.ui.LearningUiHighlightingManager import java.util.concurrent.CompletableFuture import javax.swing.JButton diff --git a/plugins/ide-features-trainer/src/training/learn/log/LessonLog.kt b/plugins/ide-features-trainer/src/training/learn/log/LessonLog.kt index f04f84a00cad..1baa6b7282f9 100644 --- a/plugins/ide-features-trainer/src/training/learn/log/LessonLog.kt +++ b/plugins/ide-features-trainer/src/training/learn/log/LessonLog.kt @@ -1,7 +1,7 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package training.learn.log -import training.learn.interfaces.Lesson +import training.learn.course.Lesson import java.util.* class LessonLog(lesson: Lesson) { diff --git a/plugins/ide-features-trainer/src/training/project/ReadMeCreator.kt b/plugins/ide-features-trainer/src/training/project/ReadMeCreator.kt index 5aeafb671598..56b63138aabb 100644 --- a/plugins/ide-features-trainer/src/training/project/ReadMeCreator.kt +++ b/plugins/ide-features-trainer/src/training/project/ReadMeCreator.kt @@ -2,10 +2,10 @@ package training.project import com.intellij.idea.ActionsBundle +import training.dsl.LessonUtil +import training.dsl.dropMnemonic import training.learn.LearnBundle import training.learn.LessonsBundle -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.kimpl.dropMnemonic open class ReadMeCreator { private val learnName get() = LearnBundle.message("toolwindow.stripe.Learn") diff --git a/plugins/ide-features-trainer/src/training/statistic/StatisticBase.kt b/plugins/ide-features-trainer/src/training/statistic/StatisticBase.kt index d9aeb263e3f7..00eb584ac560 100644 --- a/plugins/ide-features-trainer/src/training/statistic/StatisticBase.kt +++ b/plugins/ide-features-trainer/src/training/statistic/StatisticBase.kt @@ -10,11 +10,10 @@ import com.intellij.openapi.keymap.Keymap import com.intellij.openapi.keymap.KeymapManager import com.intellij.openapi.keymap.impl.DefaultKeymapImpl import com.intellij.util.TimeoutUtil -import training.keymap.KeymapUtil import training.lang.LangManager import training.learn.CourseManager -import training.learn.interfaces.Lesson -import training.learn.interfaces.Module +import training.learn.course.Lesson +import training.learn.course.Module import training.learn.lesson.LessonManager import training.statistic.FeatureUsageStatisticConsts.ACTION_ID import training.statistic.FeatureUsageStatisticConsts.COMPLETED_COUNT @@ -32,6 +31,7 @@ import training.statistic.FeatureUsageStatisticConsts.SHORTCUT_CLICKED import training.statistic.FeatureUsageStatisticConsts.START import training.statistic.FeatureUsageStatisticConsts.START_MODULE_ACTION import training.statistic.FeatureUsageStatisticConsts.TASK_ID +import training.util.KeymapUtil import java.awt.event.KeyEvent import java.util.concurrent.ConcurrentHashMap import javax.swing.JOptionPane diff --git a/plugins/ide-features-trainer/src/training/learn/lesson/listeners/StatisticLessonListener.kt b/plugins/ide-features-trainer/src/training/statistic/StatisticLessonListener.kt similarity index 69% rename from plugins/ide-features-trainer/src/training/learn/lesson/listeners/StatisticLessonListener.kt rename to plugins/ide-features-trainer/src/training/statistic/StatisticLessonListener.kt index b257b6cb2e13..c912b6be8e56 100644 --- a/plugins/ide-features-trainer/src/training/learn/lesson/listeners/StatisticLessonListener.kt +++ b/plugins/ide-features-trainer/src/training/statistic/StatisticLessonListener.kt @@ -1,10 +1,9 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.learn.lesson.listeners +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.statistic import com.intellij.openapi.project.Project -import training.learn.interfaces.Lesson +import training.learn.course.Lesson import training.learn.lesson.LessonListener -import training.statistic.StatisticBase class StatisticLessonListener(val project: Project) : LessonListener { diff --git a/plugins/ide-features-trainer/src/training/ui/ActionKeyPopup.kt b/plugins/ide-features-trainer/src/training/ui/ActionKeyPopup.kt index e1079dd16f2d..240caef9eace 100644 --- a/plugins/ide-features-trainer/src/training/ui/ActionKeyPopup.kt +++ b/plugins/ide-features-trainer/src/training/ui/ActionKeyPopup.kt @@ -15,9 +15,9 @@ import com.intellij.ui.awt.RelativePoint import com.intellij.ui.components.labels.LinkLabel import com.intellij.util.ui.JBUI import com.intellij.util.ui.UIUtil -import training.keymap.KeymapUtil import training.learn.LearnBundle import training.statistic.StatisticBase +import training.util.KeymapUtil import training.util.invokeActionForFocusContext import java.awt.Component import java.awt.Insets diff --git a/plugins/ide-features-trainer/src/training/ui/MessageFactory.kt b/plugins/ide-features-trainer/src/training/ui/MessageFactory.kt index c657b26d4f9b..9b9c4f05e204 100644 --- a/plugins/ide-features-trainer/src/training/ui/MessageFactory.kt +++ b/plugins/ide-features-trainer/src/training/ui/MessageFactory.kt @@ -11,8 +11,8 @@ import org.jdom.Element import org.jdom.Text import org.jdom.input.SAXBuilder import org.jdom.output.XMLOutputter -import training.keymap.KeymapUtil import training.learn.CourseManager +import training.util.KeymapUtil import training.util.openLinkInBrowser object MessageFactory { diff --git a/plugins/ide-features-trainer/src/training/ui/views/LearnPanel.kt b/plugins/ide-features-trainer/src/training/ui/views/LearnPanel.kt index 491cb2cb9bfc..7836f259b694 100644 --- a/plugins/ide-features-trainer/src/training/ui/views/LearnPanel.kt +++ b/plugins/ide-features-trainer/src/training/ui/views/LearnPanel.kt @@ -14,7 +14,7 @@ import org.intellij.lang.annotations.Language import org.jetbrains.annotations.Nls import training.learn.CourseManager import training.learn.LearnBundle -import training.learn.interfaces.Lesson +import training.learn.course.Lesson import training.learn.lesson.LessonManager import training.ui.* import training.util.getNextLessonForCurrent diff --git a/plugins/ide-features-trainer/src/training/ui/views/LearningItems.kt b/plugins/ide-features-trainer/src/training/ui/views/LearningItems.kt index 164e715b2208..f92a3f27c197 100644 --- a/plugins/ide-features-trainer/src/training/ui/views/LearningItems.kt +++ b/plugins/ide-features-trainer/src/training/ui/views/LearningItems.kt @@ -15,8 +15,8 @@ import icons.FeaturesTrainerIcons import org.jetbrains.annotations.NotNull import training.learn.CourseManager import training.learn.LearnBundle -import training.learn.interfaces.Lesson -import training.learn.interfaces.Module +import training.learn.course.Lesson +import training.learn.course.Module import training.learn.lesson.LessonManager import training.ui.UISettings import training.util.createBalloon diff --git a/plugins/ide-features-trainer/src/training/ui/welcomeScreen/IFTInteractiveCourse.kt b/plugins/ide-features-trainer/src/training/ui/welcomeScreen/IFTInteractiveCourse.kt index 91c3b52b5c99..8aaeb81df909 100644 --- a/plugins/ide-features-trainer/src/training/ui/welcomeScreen/IFTInteractiveCourse.kt +++ b/plugins/ide-features-trainer/src/training/ui/welcomeScreen/IFTInteractiveCourse.kt @@ -16,7 +16,7 @@ import com.intellij.ui.scale.JBUIScale import icons.FeaturesTrainerIcons.Img.PluginIcon import training.learn.CourseManager import training.learn.LearnBundle -import training.learn.interfaces.Module +import training.learn.course.Module import training.statistic.StatisticBase import training.util.rigid import java.awt.event.ActionEvent diff --git a/plugins/ide-features-trainer/src/training/keymap/KeymapUtil.kt b/plugins/ide-features-trainer/src/training/util/KeymapUtil.kt similarity index 98% rename from plugins/ide-features-trainer/src/training/keymap/KeymapUtil.kt rename to plugins/ide-features-trainer/src/training/util/KeymapUtil.kt index d09741fbb5f8..0ff381b824ba 100644 --- a/plugins/ide-features-trainer/src/training/keymap/KeymapUtil.kt +++ b/plugins/ide-features-trainer/src/training/util/KeymapUtil.kt @@ -1,5 +1,5 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package training.keymap +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package training.util import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.KeyboardShortcut diff --git a/plugins/ide-features-trainer/src/training/util/LearningLessonsAutoExecutor.kt b/plugins/ide-features-trainer/src/training/util/LearningLessonsAutoExecutor.kt index 4407e597c546..8c2369cf8296 100644 --- a/plugins/ide-features-trainer/src/training/util/LearningLessonsAutoExecutor.kt +++ b/plugins/ide-features-trainer/src/training/util/LearningLessonsAutoExecutor.kt @@ -7,11 +7,11 @@ import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.progress.runBackgroundableTask import com.intellij.openapi.project.Project import org.jetbrains.concurrency.AsyncPromise -import training.commands.kotlin.TaskTestContext +import training.dsl.TaskTestContext import training.learn.CourseManager -import training.learn.interfaces.Lesson +import training.learn.course.KLesson +import training.learn.course.Lesson import training.learn.lesson.LessonListener -import training.learn.lesson.kimpl.KLesson import java.util.concurrent.TimeUnit import java.util.concurrent.TimeoutException diff --git a/plugins/ide-features-trainer/src/training/util/Utils.kt b/plugins/ide-features-trainer/src/training/util/Utils.kt index 53bdabd8031f..7eb652a5bb04 100644 --- a/plugins/ide-features-trainer/src/training/util/Utils.kt +++ b/plugins/ide-features-trainer/src/training/util/Utils.kt @@ -25,7 +25,7 @@ import training.lang.LangManager import training.lang.LangSupport import training.learn.CourseManager import training.learn.LearnBundle -import training.learn.interfaces.Lesson +import training.learn.course.Lesson import training.learn.lesson.LessonManager import training.learn.lesson.LessonStateManager import training.ui.LearnToolWindowFactory diff --git a/plugins/ide-features-trainer/testSrc/training/simple/DecryptMacShortcutTest.kt b/plugins/ide-features-trainer/testSrc/training/simple/DecryptMacShortcutTest.kt index 32f51dbfa4bd..89ff224c8ba2 100644 --- a/plugins/ide-features-trainer/testSrc/training/simple/DecryptMacShortcutTest.kt +++ b/plugins/ide-features-trainer/testSrc/training/simple/DecryptMacShortcutTest.kt @@ -3,7 +3,7 @@ package training.simple import com.intellij.testFramework.UsefulTestCase import junit.framework.TestCase -import training.keymap.KeymapUtil +import training.util.KeymapUtil class DecryptMacShortcutTest : UsefulTestCase() { fun testSimpleKey() { diff --git a/plugins/ide-features-trainer/testSrc/training/simple/SampleParserTest.kt b/plugins/ide-features-trainer/testSrc/training/simple/SampleParserTest.kt index b2b4475662af..56cc368a72ec 100644 --- a/plugins/ide-features-trainer/testSrc/training/simple/SampleParserTest.kt +++ b/plugins/ide-features-trainer/testSrc/training/simple/SampleParserTest.kt @@ -5,7 +5,7 @@ package training.simple import com.intellij.testFramework.UsefulTestCase import junit.framework.TestCase -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.parseLessonSample class SampleParserTest : UsefulTestCase() { fun testStartCaretTag1() { diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLangSupport.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLangSupport.kt index 088ed1a0dcb2..9993385cd7d2 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLangSupport.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLangSupport.kt @@ -21,10 +21,10 @@ import com.jetbrains.python.sdk.configuration.PyProjectSdkConfiguration.setReady import com.jetbrains.python.sdk.configuration.PyProjectVirtualEnvConfiguration import com.jetbrains.python.sdk.flavors.PythonSdkFlavor import com.jetbrains.python.statistics.modules +import training.dsl.LessonUtil import training.lang.AbstractLangSupport import training.learn.LearnBundle import training.learn.exceptons.NoSdkException -import training.learn.lesson.kimpl.LessonUtil import training.project.ProjectUtils import training.project.ReadMeCreator import training.util.getFeedbackLink diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLearningCourse.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLearningCourse.kt index fa0bff44a04e..35540c436963 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLearningCourse.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/PythonLearningCourse.kt @@ -18,10 +18,11 @@ import com.jetbrains.python.ift.lesson.refactorings.PythonRefactorMenuLesson import com.jetbrains.python.ift.lesson.refactorings.PythonRenameLesson import com.jetbrains.python.ift.lesson.run.PythonDebugLesson import com.jetbrains.python.ift.lesson.run.PythonRunConfigurationLesson -import training.learn.LearningModule +import training.dsl.LessonUtil import training.learn.LessonsBundle import training.learn.course.LearningCourseBase -import training.learn.interfaces.LessonType +import training.learn.course.LearningModule +import training.learn.course.LessonType import training.learn.lesson.general.* import training.learn.lesson.general.assistance.CodeFormatLesson import training.learn.lesson.general.assistance.ParameterInfoLesson @@ -29,7 +30,6 @@ import training.learn.lesson.general.assistance.QuickPopupsLesson import training.learn.lesson.general.navigation.FindInFilesLesson import training.learn.lesson.general.refactorings.ExtractMethodCocktailSortLesson import training.learn.lesson.general.refactorings.ExtractVariableFromBubbleLesson -import training.learn.lesson.kimpl.LessonUtil import training.util.switchOnExperimentalLessons class PythonLearningCourse : LearningCourseBase(PythonLanguage.INSTANCE.id) { diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/assistance/PythonEditorCodingAssistanceLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/assistance/PythonEditorCodingAssistanceLesson.kt index 68c1748e81cc..42330ce1c6f6 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/assistance/PythonEditorCodingAssistanceLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/assistance/PythonEditorCodingAssistanceLesson.kt @@ -3,9 +3,9 @@ package com.jetbrains.python.ift.lesson.assistance import com.jetbrains.python.PyPsiBundle import com.jetbrains.python.ift.PythonLessonsBundle -import training.commands.kotlin.TaskContext +import training.dsl.LessonSample +import training.dsl.TaskContext import training.learn.lesson.general.assistance.EditorCodingAssistanceLesson -import training.learn.lesson.kimpl.LessonSample class PythonEditorCodingAssistanceLesson(lang: String, sample: LessonSample) : EditorCodingAssistanceLesson(lang, sample) { diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonContextActionsLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonContextActionsLesson.kt index f4cd90dd035a..dc826d1aeb50 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonContextActionsLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonContextActionsLesson.kt @@ -1,9 +1,9 @@ package com.jetbrains.python.ift.lesson.basic import com.jetbrains.python.PyPsiBundle +import training.dsl.LessonSample +import training.dsl.parseLessonSample import training.learn.lesson.general.ContextActionsLesson -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.parseLessonSample class PythonContextActionsLesson : ContextActionsLesson("Python") { override val sample: LessonSample = parseLessonSample(""" diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSelectLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSelectLesson.kt index 24d9933ad08b..4734ea8b3f05 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSelectLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSelectLesson.kt @@ -2,9 +2,9 @@ package com.jetbrains.python.ift.lesson.basic import org.jetbrains.annotations.Nls +import training.dsl.LessonSample +import training.dsl.parseLessonSample import training.learn.lesson.general.NewSelectLesson -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.parseLessonSample class PythonSelectLesson : NewSelectLesson("Python") { override val selectArgument = "\"$selectString\"" diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSurroundAndUnwrapLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSurroundAndUnwrapLesson.kt index 1969be33d894..97b39ac0080a 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSurroundAndUnwrapLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/basic/PythonSurroundAndUnwrapLesson.kt @@ -1,10 +1,10 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.python.ift.lesson.basic +import training.dsl.LessonSample +import training.dsl.parseLessonSample import training.learn.LessonsBundle import training.learn.lesson.general.SurroundAndUnwrapLesson -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.parseLessonSample class PythonSurroundAndUnwrapLesson : SurroundAndUnwrapLesson("Python") { override val sample: LessonSample = parseLessonSample(""" diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/FStringCompletionLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/FStringCompletionLesson.kt index c275ad74e061..f51dad0fc9c7 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/FStringCompletionLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/FStringCompletionLesson.kt @@ -4,10 +4,10 @@ package com.jetbrains.python.ift.lesson.completion import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key import com.jetbrains.python.ift.PythonLessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.LessonContext +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.parseLessonSample +import training.learn.course.KLesson class FStringCompletionLesson : KLesson("completion.f.string", PythonLessonsBundle.message("python.f.string.completion.lesson.name"), "Python") { diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonBasicCompletionLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonBasicCompletionLesson.kt index 931838d1ffa3..89e788dc8d70 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonBasicCompletionLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonBasicCompletionLesson.kt @@ -1,8 +1,8 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.python.ift.lesson.completion +import training.dsl.parseLessonSample import training.learn.lesson.general.completion.BasicCompletionLessonBase -import training.learn.lesson.kimpl.parseLessonSample private const val keyToComplete1 = "director" private const val keyToComplete2 = "distributor" diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonPostfixCompletionLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonPostfixCompletionLesson.kt index a63d47d3e00e..7e19c7c0de70 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonPostfixCompletionLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonPostfixCompletionLesson.kt @@ -4,11 +4,11 @@ package com.jetbrains.python.ift.lesson.completion import com.intellij.testGuiFramework.framework.GuiTestUtil.typeText import com.intellij.testGuiFramework.impl.jList import com.jetbrains.python.ift.PythonLessonsBundle +import training.dsl.LessonContext +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.parseLessonSample import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.parseLessonSample +import training.learn.course.KLesson private const val completionSuffix = ".ifnn" diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonSmartCompletionLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonSmartCompletionLesson.kt index b40e8e6a404c..8bf3af905cdf 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonSmartCompletionLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonSmartCompletionLesson.kt @@ -2,12 +2,12 @@ package com.jetbrains.python.ift.lesson.completion import com.jetbrains.python.ift.PythonLessonsBundle -import training.commands.kotlin.TaskContext -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonUtil -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.LessonContext +import training.dsl.LessonUtil +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.TaskContext +import training.dsl.parseLessonSample +import training.learn.course.KLesson class PythonSmartCompletionLesson : KLesson("Smart completion", PythonLessonsBundle.message("python.smart.completion.lesson.name"), "Python") { diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonTabCompletionLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonTabCompletionLesson.kt index 447951e3897f..17e0b2a9f1a7 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonTabCompletionLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/completion/PythonTabCompletionLesson.kt @@ -4,10 +4,9 @@ package com.jetbrains.python.ift.lesson.completion import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key import com.jetbrains.python.ift.PythonLessonsBundle -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.* +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.learn.course.KLesson import javax.swing.JList class PythonTabCompletionLesson diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/essensial/PythonOnboardingTour.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/essensial/PythonOnboardingTour.kt index a43df82df24b..adfa7fc04c0b 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/essensial/PythonOnboardingTour.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/essensial/PythonOnboardingTour.kt @@ -35,14 +35,14 @@ import com.jetbrains.python.PythonLanguage import com.jetbrains.python.ift.PythonLessonsBundle import org.intellij.lang.annotations.Language import org.jetbrains.annotations.Nls -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext +import training.dsl.* +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.LessonUtil.restoreIfModified +import training.dsl.LessonUtil.restoreIfModifiedOrMoved import training.learn.LessonsBundle +import training.learn.course.KLesson +import training.learn.course.LessonProperties import training.learn.lesson.general.run.toggleBreakpointTask -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor -import training.learn.lesson.kimpl.LessonUtil.restoreIfModified -import training.learn.lesson.kimpl.LessonUtil.restoreIfModifiedOrMoved import training.ui.LearningUiHighlightingManager import training.ui.LearningUiManager import training.util.invokeActionForFocusContext diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonDeclarationAndUsagesLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonDeclarationAndUsagesLesson.kt index 03dd683702b0..6ef4e950d397 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonDeclarationAndUsagesLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonDeclarationAndUsagesLesson.kt @@ -1,8 +1,8 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.python.ift.lesson.navigation +import training.dsl.LessonContext import training.learn.lesson.general.navigation.DeclarationAndUsagesLesson -import training.learn.lesson.kimpl.LessonContext class PythonDeclarationAndUsagesLesson : DeclarationAndUsagesLesson("Python") { override fun LessonContext.setInitialPosition() = caret(9, 21) diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonRecentFilesLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonRecentFilesLesson.kt index bad9470c42f9..168630d40f44 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonRecentFilesLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/navigation/PythonRecentFilesLesson.kt @@ -1,8 +1,8 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.python.ift.lesson.navigation +import training.dsl.LessonContext import training.learn.lesson.general.navigation.RecentFilesLesson -import training.learn.lesson.kimpl.LessonContext class PythonRecentFilesLesson : RecentFilesLesson("Python") { override val existedFile: String = "src/recent_files_demo.py" diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonInPlaceRefactoringLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonInPlaceRefactoringLesson.kt index 7ee89b9f0462..378fd6ea0c10 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonInPlaceRefactoringLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonInPlaceRefactoringLesson.kt @@ -5,10 +5,9 @@ import com.intellij.icons.AllIcons import com.intellij.testGuiFramework.framework.GuiTestUtil import com.intellij.testGuiFramework.util.Key import com.jetbrains.python.ift.PythonLessonsBundle -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskRuntimeContext -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.* +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.learn.course.KLesson import javax.swing.JLabel import javax.swing.JPanel diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonQuickFixesRefactoringLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonQuickFixesRefactoringLesson.kt index 281daf263726..c1d1e963896f 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonQuickFixesRefactoringLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonQuickFixesRefactoringLesson.kt @@ -14,10 +14,9 @@ import com.intellij.util.ui.table.JBTableRow import com.jetbrains.python.PyBundle import com.jetbrains.python.ift.PythonLessonsBundle import com.jetbrains.python.inspections.quickfix.PyChangeSignatureQuickFix -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskTestContext -import training.learn.lesson.kimpl.* -import training.learn.lesson.kimpl.LessonUtil.checkExpectedStateOfEditor +import training.dsl.* +import training.dsl.LessonUtil.checkExpectedStateOfEditor +import training.learn.course.KLesson import java.util.regex.Pattern import javax.swing.JDialog import javax.swing.JTable diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRefactorMenuLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRefactorMenuLesson.kt index 92fc5200d9ed..4025eb123af8 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRefactorMenuLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRefactorMenuLesson.kt @@ -1,9 +1,9 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.python.ift.lesson.refactorings +import training.dsl.LessonContext +import training.dsl.parseLessonSample import training.learn.lesson.general.refactorings.RefactoringMenuLessonBase -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.parseLessonSample class PythonRefactorMenuLesson : RefactoringMenuLessonBase("Refactoring menu", "Python") { private val sample = parseLessonSample(""" diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRenameLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRenameLesson.kt index 3eb24fcacda8..ac474ea4aa00 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRenameLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/refactorings/PythonRenameLesson.kt @@ -15,13 +15,9 @@ import com.intellij.usageView.UsageViewBundle import com.intellij.util.ui.tree.TreeUtil import com.jetbrains.python.ift.PythonLessonsBundle import org.jetbrains.annotations.Nullable -import training.commands.kotlin.TaskContext -import training.commands.kotlin.TaskTestContext +import training.dsl.* import training.learn.LessonsBundle -import training.learn.lesson.kimpl.KLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.dropMnemonic -import training.learn.lesson.kimpl.parseLessonSample +import training.learn.course.KLesson import java.util.regex.Pattern import javax.swing.JButton import javax.swing.JTree diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonDebugLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonDebugLesson.kt index 6ddd18004ea6..2c707ab4fead 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonDebugLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonDebugLesson.kt @@ -4,10 +4,10 @@ package com.jetbrains.python.ift.lesson.run import com.intellij.icons.AllIcons import com.intellij.openapi.editor.LogicalPosition import com.jetbrains.python.ift.PythonLessonsBundle -import training.commands.kotlin.TaskTestContext +import training.dsl.LessonContext +import training.dsl.TaskTestContext +import training.dsl.highlightButtonById import training.learn.lesson.general.run.CommonDebugLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.highlightButtonById class PythonDebugLesson : CommonDebugLesson("python.debug.workflow", "Python") { override val configurationName = PythonRunLessonsUtils.demoConfigurationName diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunConfigurationLesson.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunConfigurationLesson.kt index 3a9276e6595c..0fe931fade83 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunConfigurationLesson.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunConfigurationLesson.kt @@ -2,10 +2,10 @@ package com.jetbrains.python.ift.lesson.run import com.jetbrains.python.ift.PythonLessonsBundle +import training.dsl.LessonContext +import training.dsl.LessonSample +import training.dsl.checkToolWindowState import training.learn.lesson.general.run.CommonRunConfigurationLesson -import training.learn.lesson.kimpl.LessonContext -import training.learn.lesson.kimpl.LessonSample -import training.learn.lesson.kimpl.checkToolWindowState class PythonRunConfigurationLesson : CommonRunConfigurationLesson("python.run.configuration", "Python") { override val sample: LessonSample = PythonRunLessonsUtils.demoSample diff --git a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunLessonsUtils.kt b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunLessonsUtils.kt index 792b4240bd26..6f61facd3d6d 100644 --- a/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunLessonsUtils.kt +++ b/python/python-features-trainer/src/com/jetbrains/python/ift/lesson/run/PythonRunLessonsUtils.kt @@ -1,7 +1,7 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.python.ift.lesson.run -import training.learn.lesson.kimpl.parseLessonSample +import training.dsl.parseLessonSample object PythonRunLessonsUtils { const val demoConfigurationName = "sandbox"