mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
KTNB-1022: Actualize the grid toolbar explicitly
GitOrigin-RevId: 377e88566047bc1cc280b21ba4ca9f25f0fcd6b3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
84382a0c6e
commit
753999158e
@@ -68,6 +68,7 @@ import com.intellij.psi.CommonClassNames;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.SingleRootFileViewProvider;
|
||||
import com.intellij.testFramework.LightVirtualFile;
|
||||
import com.intellij.ui.AppUIUtil;
|
||||
import com.intellij.ui.ClientProperty;
|
||||
import com.intellij.ui.ExperimentalUI;
|
||||
import com.intellij.ui.TextFieldWithAutoCompletion;
|
||||
@@ -805,6 +806,10 @@ public class GridUtil extends GridUtilCore {
|
||||
ActionManager actionManager = ActionManager.getInstance();
|
||||
ActionToolbar toolbar = actionManager.createActionToolbar(ActionPlaces.EDITOR_TOOLBAR, actions, true);
|
||||
ActionToolbar toolbarSecondary = actionManager.createActionToolbar(ActionPlaces.EDITOR_TOOLBAR, secondaryActions, true);
|
||||
|
||||
addToolbarActualizer(dataGrid, toolbar);
|
||||
addToolbarActualizer(dataGrid, toolbarSecondary);
|
||||
|
||||
toolbar.setTargetComponent(dataGrid.getPanel().getComponent());
|
||||
toolbarSecondary.setTargetComponent(dataGrid.getPanel().getComponent());
|
||||
toolbarSecondary.setReservePlaceAutoPopupIcon(false);
|
||||
@@ -828,6 +833,29 @@ public class GridUtil extends GridUtilCore {
|
||||
return header;
|
||||
}
|
||||
|
||||
private static void addToolbarActualizer(
|
||||
@NotNull DataGrid dataGrid,
|
||||
@NotNull ActionToolbar toolbar
|
||||
) {
|
||||
var pageModel = dataGrid.getDataHookup().getPageModel();
|
||||
if (pageModel instanceof MultiPageModel<GridRow, GridColumn> multiPageModel) {
|
||||
multiPageModel.addPageModelListener(
|
||||
new MultiPageModel.PageModelListener() {
|
||||
|
||||
@Override
|
||||
public void pageSizeChanged() {
|
||||
AppUIUtil.invokeOnEdt(() -> {
|
||||
toolbar.updateActionsAsync();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pageStartChanged() {}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public static @NotNull JComponent addVerticalGridHeaderComponent(@NotNull DataGrid dataGrid, @Nullable String actionGroupName) {
|
||||
ActionManager actionManager = ActionManager.getInstance();
|
||||
ActionGroup actions = actionGroupName == null ? new EmptyActionGroup() : (ActionGroup)actionManager.getAction(actionGroupName);
|
||||
|
||||
Reference in New Issue
Block a user