mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[clion] add ClangFormat lesson in CLion Nova
GitOrigin-RevId: 8f190fd56b0c66acba0763f6d82cb5b584835e16
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fd0b7b1235
commit
dbb521c46b
@@ -24,6 +24,7 @@ import com.intellij.openapi.application.ApplicationNamesInfo
|
||||
import com.intellij.openapi.application.invokeLater
|
||||
import com.intellij.openapi.client.ClientSystemInfo
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.editor.EditorKind
|
||||
import com.intellij.openapi.editor.EditorModificationUtil
|
||||
import com.intellij.openapi.editor.LogicalPosition
|
||||
import com.intellij.openapi.editor.ex.EditorEx
|
||||
@@ -158,6 +159,14 @@ object LessonUtil {
|
||||
}
|
||||
}
|
||||
|
||||
fun TaskRuntimeContext.selectNeededItem(isTotalItem: (Any) -> Boolean): Boolean? {
|
||||
return (previous.ui as? JList<*>)?.let { ui ->
|
||||
if (!ui.isShowing) return false
|
||||
val selectedIndex = ui.selectedIndex
|
||||
selectedIndex != -1 && isTotalItem(ui.model.getElementAt(selectedIndex))
|
||||
}
|
||||
}
|
||||
|
||||
fun TaskRuntimeContext.checkPositionOfEditor(sample: LessonSample,
|
||||
checkCaret: TaskRuntimeContext.(LessonSample) -> Boolean = { checkCaretValid(it) }
|
||||
): TaskContext.RestoreNotification? {
|
||||
@@ -238,6 +247,10 @@ object LessonUtil {
|
||||
return UIUtil.getParentOfType(SearchEverywhereUI::class.java, focusOwner) != null
|
||||
}
|
||||
|
||||
fun isMainEditorComponent(component: Component?): Boolean {
|
||||
return component is EditorComponentImpl && component.editor.editorKind == EditorKind.MAIN_EDITOR
|
||||
}
|
||||
|
||||
fun findItem(ui: JList<*>, checkList: (item: Any) -> Boolean): Int? {
|
||||
for (i in 0 until ui.model.size) {
|
||||
val elementAt = ui.model.getElementAt(i)
|
||||
|
||||
@@ -59,7 +59,7 @@ abstract class TaskContext : LearningDslBase {
|
||||
* Delay may be needed to give pass condition take place.
|
||||
* It is a hack solution because of possible race conditions.
|
||||
* @param [checkByTimer] Check by timer may be useful in UI detection tasks (in submenus for example).
|
||||
* @param [restoreRequired] returns true iff restore is needed
|
||||
* @param [restoreRequired] returns true if restore is needed
|
||||
*/
|
||||
open fun restoreState(restoreId: TaskId? = null, delayMillis: Int = 0, checkByTimer: Int? = null, restoreRequired: TaskRuntimeContext.() -> Boolean) = Unit
|
||||
|
||||
|
||||
+1
-6
@@ -15,7 +15,6 @@ import com.intellij.openapi.application.ModalityState
|
||||
import com.intellij.openapi.application.invokeAndWaitIfNeeded
|
||||
import com.intellij.openapi.application.invokeLater
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.editor.EditorKind
|
||||
import com.intellij.openapi.editor.EditorModificationUtil
|
||||
import com.intellij.openapi.editor.LogicalPosition
|
||||
import com.intellij.openapi.editor.ex.EditorEx
|
||||
@@ -33,6 +32,7 @@ import org.assertj.swing.fixture.JListFixture
|
||||
import org.jetbrains.annotations.Nls
|
||||
import training.FeaturesTrainerIcons
|
||||
import training.dsl.*
|
||||
import training.dsl.LessonUtil.isMainEditorComponent
|
||||
import training.dsl.LessonUtil.restoreIfModifiedOrMoved
|
||||
import training.learn.LearnBundle
|
||||
import training.learn.LessonsBundle
|
||||
@@ -44,7 +44,6 @@ import training.ui.LearningUiHighlightingManager
|
||||
import training.ui.LearningUiHighlightingManager.HighlightingOptions
|
||||
import training.ui.LearningUiUtil
|
||||
import training.util.LessonEndInfo
|
||||
import java.awt.Component
|
||||
import java.awt.Point
|
||||
import java.awt.Rectangle
|
||||
|
||||
@@ -291,10 +290,6 @@ class LocalHistoryLesson(
|
||||
else null
|
||||
}
|
||||
|
||||
private fun isMainEditorComponent(component: Component?): Boolean {
|
||||
return component is EditorComponentImpl && component.editor.editorKind == EditorKind.MAIN_EDITOR
|
||||
}
|
||||
|
||||
// If message is null it will remove the existing hint and allow file modification
|
||||
private fun LessonContext.setEditorHint(@Nls message: String?) {
|
||||
prepareRuntimeTask {
|
||||
|
||||
Reference in New Issue
Block a user