diff --git a/python/src/com/jetbrains/python/debugger/containerview/PyDataViewDialog.kt b/python/src/com/jetbrains/python/debugger/containerview/PyDataViewDialog.kt index 6fe62fd35d55..9c7e5e3156b6 100644 --- a/python/src/com/jetbrains/python/debugger/containerview/PyDataViewDialog.kt +++ b/python/src/com/jetbrains/python/debugger/containerview/PyDataViewDialog.kt @@ -64,6 +64,8 @@ class PyDataViewDialog(private val myProject: Project, value: PyDebugValue) : Di init() } + override fun getDimensionServiceKey() = "#com.jetbrains.python.debugger.containerview.PyDataViewDialog" + private fun createBottomElements(): JPanel { val colored = JBCheckBox(PyBundle.message("debugger.data.view.colored.cells")) colored.setSelected(isColoringEnabled(myProject)) diff --git a/python/src/com/jetbrains/python/debugger/containerview/PyDataViewerPanel.kt b/python/src/com/jetbrains/python/debugger/containerview/PyDataViewerPanel.kt index 67ddcf85a6d9..1272ecfd7acb 100644 --- a/python/src/com/jetbrains/python/debugger/containerview/PyDataViewerPanel.kt +++ b/python/src/com/jetbrains/python/debugger/containerview/PyDataViewerPanel.kt @@ -6,7 +6,7 @@ import com.intellij.codeInsight.completion.PrioritizedLookupElement import com.intellij.codeInsight.lookup.LookupElementBuilder import com.intellij.openapi.Disposable import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.thisLogger import com.intellij.openapi.editor.EditorFactory import com.intellij.openapi.editor.ex.EditorEx import com.intellij.openapi.observable.properties.AtomicBooleanProperty @@ -15,7 +15,11 @@ import com.intellij.openapi.util.NlsContexts import com.intellij.openapi.util.NlsSafe import com.intellij.ui.EditorTextField import com.intellij.ui.JBColor -import com.intellij.ui.dsl.builder.* +import com.intellij.ui.dsl.builder.Align +import com.intellij.ui.dsl.builder.AlignX +import com.intellij.ui.dsl.builder.Cell +import com.intellij.ui.dsl.builder.panel +import com.intellij.ui.dsl.builder.text import com.intellij.util.TextFieldCompletionProvider import com.intellij.util.ui.UIUtil import com.jetbrains.python.PyBundle @@ -114,10 +118,8 @@ open class PyDataViewerPanel(@JvmField protected val project: Project, val frame init { PyDataViewCompletionProvider().apply(sliceTextFieldOldTable) - val panel = panel { - row { - cell(tablePanel).align(Align.FILL).resizableColumn() - }.resizableRow() + add(tablePanel, BorderLayout.CENTER) + add(panel { row { cell(sliceTextFieldOldTable).align(AlignX.FILL).resizableColumn() label(PyBundle.message("form.data.viewer.format")) @@ -126,9 +128,7 @@ open class PyDataViewerPanel(@JvmField protected val project: Project, val frame row { errorLabel = text("").apply { component.setForeground(JBColor.RED) } } - } - - add(panel, BorderLayout.CENTER) + }, BorderLayout.SOUTH) setupChangeListener() } @@ -189,7 +189,11 @@ open class PyDataViewerPanel(@JvmField protected val project: Project, val frame protected open fun getOrCreateMainTable(): AbstractDataViewTable { val mainTable = JBTableWithRowHeaders(PyDataView.isAutoResizeEnabled(project)) mainTable.scrollPane.border = BorderFactory.createEmptyBorder() - tablePanel.add(mainTable.scrollPane, BorderLayout.CENTER) + tablePanel.apply { + add(mainTable.scrollPane, BorderLayout.CENTER) + revalidate() + repaint() + } table = mainTable return mainTable } @@ -245,13 +249,13 @@ open class PyDataViewerPanel(@JvmField protected val project: Project, val frame ApplicationManager.getApplication().invokeLater { setError(e.localizedMessage, modifier) } //NON-NLS } catch (e: PyDebuggerException) { - LOG.error(e) + thisLogger().error(e) } catch (e: Exception) { if (e.message?.let { "Numpy is not available" in it } == true) { setError(PyBundle.message("debugger.data.view.numpy.is.not.available", type), modifier) } - LOG.error(e) + thisLogger().error(e) } } } @@ -288,8 +292,10 @@ open class PyDataViewerPanel(@JvmField protected val project: Project, val frame } } - protected open fun updateUI(chunk: ArrayChunk, originalDebugValue: PyDebugValue, - strategy: DataViewStrategy, modifier: Boolean) { + protected open fun updateUI( + chunk: ArrayChunk, originalDebugValue: PyDebugValue, + strategy: DataViewStrategy, modifier: Boolean, + ) { val debugValue = chunk.value val model = strategy.createTableModel(chunk.rows, chunk.columns, this, debugValue) model.addToCache(chunk) @@ -392,16 +398,15 @@ open class PyDataViewerPanel(@JvmField protected val project: Project, val frame } } catch (e: Exception) { - LOG.error(e) + thisLogger().error(e) } return values } } - open fun closeEditorTabs() {} + open fun closeEditorTabs() = Unit companion object { - private val LOG = Logger.getInstance(PyDataViewerPanel::class.java) private const val MODIFIED_VARIABLE_FORMAT = "%s*" } -} +} \ No newline at end of file