mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
SchemeManager — do not expose more than need, keep the same API as before
This commit is contained in:
@@ -12,10 +12,7 @@ abstract class SchemeManagerBase<T : Any, in MUTABLE_SCHEME : T>(internal val pr
|
||||
protected var currentPendingSchemeName: String? = null
|
||||
|
||||
override var currentScheme: T? = null
|
||||
set(value) {
|
||||
field = value
|
||||
currentSchemeName = value?.let { processor.getSchemeKey(it) }
|
||||
}
|
||||
internal set
|
||||
|
||||
override var currentSchemeName: String?
|
||||
get() = currentScheme?.let { processor.getSchemeKey(it) } ?: currentPendingSchemeName
|
||||
|
||||
@@ -63,10 +63,6 @@ public class EmptySchemesManager extends SchemeManager<Scheme> {
|
||||
public void setCurrentSchemeName(@Nullable String schemeName, boolean notify) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCurrent(@Nullable Scheme scheme, boolean notify) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCurrentSchemeName(@Nullable String s) {
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ abstract class SchemeManager<T> {
|
||||
open val isEmpty: Boolean
|
||||
get() = allSchemes.isEmpty()
|
||||
|
||||
abstract var currentScheme: T?
|
||||
abstract val currentScheme: T?
|
||||
|
||||
/**
|
||||
* If schemes are lazy loaded, you can use this method to postpone scheme selection (scheme will be found by name on first use)
|
||||
@@ -55,12 +55,10 @@ abstract class SchemeManager<T> {
|
||||
|
||||
abstract fun setCurrentSchemeName(schemeName: String?, notify: Boolean)
|
||||
|
||||
fun setCurrent(scheme: T?) {
|
||||
setCurrent(scheme, true)
|
||||
@JvmOverloads
|
||||
open fun setCurrent(scheme: T?, notify: Boolean = true) {
|
||||
}
|
||||
|
||||
abstract fun setCurrent(scheme: T?, notify: Boolean)
|
||||
|
||||
abstract fun removeScheme(scheme: T): Boolean
|
||||
|
||||
open fun removeScheme(name: String): T? {
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
// Copyright 2000-2017 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.openapi.options
|
||||
|
||||
class SchemeManagerBase {
|
||||
}
|
||||
Reference in New Issue
Block a user