mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fixes "Compare Data" dropdown in the data grid.
Introduced two interfaces instead of corresponding methods of TableEditorBase, replaced the usages and implemented interfaces. Merge-request: IJ-MR-175208 Merged-by: Dmitry Barashev <dmitry.barashev@jetbrains.com> GitOrigin-RevId: 7512512b973b7a648213bbfa6c3c78c951704e68
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e493e37207
commit
024dc5598b
@@ -10,6 +10,7 @@ import com.intellij.database.csv.CsvSettingsService;
|
||||
import com.intellij.database.data.types.BaseConversionGraph;
|
||||
import com.intellij.database.data.types.DataTypeConversion;
|
||||
import com.intellij.database.datagrid.HierarchicalColumnsDataGridModel.HierarchicalGridColumn;
|
||||
import com.intellij.database.editor.DataGridContainer;
|
||||
import com.intellij.database.editor.TableEditorBase;
|
||||
import com.intellij.database.extractors.*;
|
||||
import com.intellij.database.extractors.DatabaseObjectFormatterConfig.DatabaseDisplayObjectFormatterConfig;
|
||||
@@ -437,8 +438,8 @@ public class GridUtil extends GridUtilCore {
|
||||
|
||||
public static @Nullable DataGrid getDataGrid(DataContext dataContext) {
|
||||
FileEditor editor = PlatformCoreDataKeys.FILE_EDITOR.getData(dataContext);
|
||||
if (editor instanceof TableEditorBase) {
|
||||
return ((TableEditorBase)editor).getDataGrid();
|
||||
if (editor instanceof DataGridContainer) {
|
||||
return ((DataGridContainer)editor).getDataGrid();
|
||||
}
|
||||
DataGrid grid = editor == null ? null : editor.getUserData(GRID_KEY);
|
||||
return grid != null ? grid : DatabaseDataKeys.DATA_GRID_KEY.getData(dataContext);
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.intellij.database.datagrid;
|
||||
|
||||
import com.intellij.database.DataGridBundle;
|
||||
import com.intellij.database.datagrid.DataGrid.ActiveGridListener;
|
||||
import com.intellij.database.editor.TableEditorBase;
|
||||
import com.intellij.database.editor.DataGridContainer;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.fileEditor.FileEditor;
|
||||
import com.intellij.openapi.fileEditor.FileEditorManagerEvent;
|
||||
@@ -128,7 +128,7 @@ public abstract class GridWidget implements StatusBarWidget, CustomStatusBarWidg
|
||||
private @Nullable DataGrid getDataGrid(@NotNull StatusBar bar) {
|
||||
if (myProject.isDisposed()) return null;
|
||||
FileEditor fileEditor = StatusBarUtil.getCurrentFileEditor(bar);
|
||||
return fileEditor instanceof TableEditorBase ? ((TableEditorBase)fileEditor).getDataGrid() : null;
|
||||
return fileEditor instanceof DataGridContainer ? ((DataGridContainer)fileEditor).getDataGrid() : null;
|
||||
}
|
||||
|
||||
protected void set(@Nullable DataGrid grid, @NotNull StatusBar statusBar) {
|
||||
|
||||
@@ -2,6 +2,9 @@ package com.intellij.database.editor;
|
||||
|
||||
import com.intellij.database.DataGridBundle;
|
||||
import com.intellij.database.datagrid.DataGrid;
|
||||
import com.intellij.database.datagrid.GridColumn;
|
||||
import com.intellij.database.datagrid.GridDataHookUp;
|
||||
import com.intellij.database.datagrid.GridRow;
|
||||
import com.intellij.ide.structureView.StructureViewBuilder;
|
||||
import com.intellij.ide.structureView.StructureViewModel;
|
||||
import com.intellij.ide.structureView.TreeBasedStructureViewBuilder;
|
||||
@@ -22,7 +25,7 @@ import java.beans.PropertyChangeSupport;
|
||||
/**
|
||||
* @author gregsh
|
||||
*/
|
||||
public abstract class TableEditorBase extends UserDataHolderBase implements FileEditor {
|
||||
public abstract class TableEditorBase extends UserDataHolderBase implements FileEditor, DataGridContainer, DataHookupContainer {
|
||||
|
||||
private final Project myProject;
|
||||
private final PropertyChangeSupport myPropertyChangeSupport = new PropertyChangeSupport(this);
|
||||
@@ -36,8 +39,14 @@ public abstract class TableEditorBase extends UserDataHolderBase implements File
|
||||
return myProject;
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract @NotNull DataGrid getDataGrid();
|
||||
|
||||
@Override
|
||||
public @NotNull GridDataHookUp<@NotNull GridRow, @NotNull GridColumn> getDataHookup() {
|
||||
return getDataGrid().getDataHookup();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getName() {
|
||||
return DataGridBundle.message("table.file.editor.name");
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.intellij.database.editor
|
||||
|
||||
import com.intellij.database.datagrid.DataGrid
|
||||
import com.intellij.database.datagrid.GridColumn
|
||||
import com.intellij.database.datagrid.GridDataHookUp
|
||||
import com.intellij.database.datagrid.GridRow
|
||||
|
||||
/**
|
||||
* This interface returns a grid data management object from the editor.
|
||||
*/
|
||||
interface DataHookupContainer {
|
||||
val dataHookup: GridDataHookUp<GridRow, GridColumn>
|
||||
}
|
||||
|
||||
/**
|
||||
* This interface returns a data grid component from the editor.
|
||||
*/
|
||||
interface DataGridContainer {
|
||||
val dataGrid: DataGrid
|
||||
}
|
||||
Reference in New Issue
Block a user