mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Toggleable#isSelected, setSelected
GitOrigin-RevId: 2729cfa7fc60d331615c9f4ec02cb552f43f95ed
This commit is contained in:
committed by
intellij-monorepo-bot
parent
da3185fcf2
commit
f4726c3f56
@@ -271,7 +271,7 @@ public class BackgroundImageDialog extends DialogWrapper {
|
||||
@Override
|
||||
public void update(@NotNull AnActionEvent e) {
|
||||
e.getPresentation().setText(text);
|
||||
e.getPresentation().putClientProperty(Toggleable.SELECTED_PROPERTY, target.equals(myPreviewTarget));
|
||||
Toggleable.setSelected(e.getPresentation(), target.equals(myPreviewTarget));
|
||||
super.update(e);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ public class AbstractFocusOnAction extends BaseViewAction implements Toggleable
|
||||
final boolean visible = content.length == 1;
|
||||
e.getPresentation().setVisible(visible);
|
||||
if (visible) {
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, isToFocus(context, content));
|
||||
Toggleable.setSelected(e.getPresentation(), isToFocus(context, content));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-4
@@ -28,6 +28,7 @@ import com.intellij.psi.codeStyle.arrangement.model.ArrangementMatchCondition;
|
||||
import com.intellij.psi.codeStyle.arrangement.std.ArrangementSettingsToken;
|
||||
import com.intellij.psi.codeStyle.arrangement.std.ArrangementUiComponent;
|
||||
import com.intellij.ui.SimpleColoredComponent;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.ui.GridBag;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
@@ -132,14 +133,14 @@ public class ArrangementListRowDecorator extends JPanel implements ArrangementUi
|
||||
|
||||
public void setBeingEdited(boolean beingEdited) {
|
||||
if (myBeingEdited && !beingEdited) {
|
||||
myEditButton.getPresentation().putClientProperty(Toggleable.SELECTED_PROPERTY, false);
|
||||
Toggleable.setSelected(myEditButton.getPresentation(), false);
|
||||
}
|
||||
if (!beingEdited && !myUnderMouse) {
|
||||
myEditButton.setVisible(false);
|
||||
}
|
||||
if (beingEdited && !myBeingEdited) {
|
||||
myEditButton.setVisible(true);
|
||||
myEditButton.getPresentation().putClientProperty(Toggleable.SELECTED_PROPERTY, true);
|
||||
Toggleable.setSelected(myEditButton.getPresentation(), true);
|
||||
}
|
||||
myBeingEdited = beingEdited;
|
||||
}
|
||||
@@ -190,8 +191,8 @@ public class ArrangementListRowDecorator extends JPanel implements ArrangementUi
|
||||
Rectangle bounds = getButtonScreenBounds();
|
||||
if (!myBeingEdited && bounds != null) {
|
||||
boolean selected = bounds.contains(event.getLocationOnScreen());
|
||||
boolean wasSelected = myEditButton.getPresentation().getClientProperty(Toggleable.SELECTED_PROPERTY) == Boolean.TRUE;
|
||||
myEditButton.getPresentation().putClientProperty(Toggleable.SELECTED_PROPERTY, selected);
|
||||
boolean wasSelected = Toggleable.isSelected(myEditButton.getPresentation()) == ThreeState.YES;
|
||||
Toggleable.setSelected(myEditButton.getPresentation(), selected);
|
||||
if (selected ^ wasSelected) {
|
||||
return myScreenBounds;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ public abstract class AbstractViewManager implements ViewManager, BuildProgressL
|
||||
myContent.putUserData(ToolWindow.SHOW_CONTENT_ICON, Boolean.TRUE);
|
||||
}
|
||||
myContent.setPinned(selected);
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(e.getPresentation(), selected);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -270,7 +270,7 @@ public abstract class AbstractViewManager implements ViewManager, BuildProgressL
|
||||
boolean selected = myContent.isPinned();
|
||||
|
||||
e.getPresentation().setIcon(AllIcons.General.Pin_tab);
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(e.getPresentation(), selected);
|
||||
|
||||
String text;
|
||||
if (!isActiveTab) {
|
||||
|
||||
@@ -162,7 +162,7 @@ public class CompositeView<T extends ComponentContainer> extends JPanel implemen
|
||||
}
|
||||
else {
|
||||
presentation.setEnabledAndVisible(true);
|
||||
presentation.putClientProperty(SELECTED_PROPERTY, isSelected(e));
|
||||
Toggleable.setSelected(presentation, isSelected(e));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ public class DuplexConsoleView<S extends ConsoleView, T extends ConsoleView> ext
|
||||
}
|
||||
else {
|
||||
enableConsole(true);
|
||||
presentation.putClientProperty(SELECTED_PROPERTY, false);
|
||||
Toggleable.setSelected(presentation, false);
|
||||
presentation.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.ide.util.ElementsChooser;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.ToggleAction;
|
||||
import com.intellij.openapi.actionSystem.Toggleable;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
@@ -51,7 +52,7 @@ public abstract class ShowFilterAction extends ToggleAction implements DumbAware
|
||||
Icon icon = getTemplatePresentation().getIcon();
|
||||
e.getPresentation().setIcon(isActive() ? ExecutionUtil.getLiveIndicator(icon) : icon);
|
||||
e.getPresentation().setEnabled(isEnabled());
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, isSelected(e));
|
||||
Toggleable.setSelected(e.getPresentation(), isSelected(e));
|
||||
}
|
||||
|
||||
protected abstract boolean isEnabled();
|
||||
|
||||
@@ -46,7 +46,7 @@ public class ToggleBookmarkAction extends BookmarksAction implements DumbAware,
|
||||
|
||||
final BookmarkInContextInfo info = getBookmarkInfo(event);
|
||||
final boolean selected = info != null && info.getBookmarkAtPlace() != null;
|
||||
event.getPresentation().putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(event.getPresentation(), selected);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -58,7 +58,7 @@ public class ToggleBookmarkAction extends BookmarksAction implements DumbAware,
|
||||
if (info == null) return;
|
||||
|
||||
final boolean selected = info.getBookmarkAtPlace() != null;
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(e.getPresentation(), selected);
|
||||
|
||||
if (selected) {
|
||||
BookmarkManager.getInstance(project).removeBookmark(info.getBookmarkAtPlace());
|
||||
|
||||
+1
-1
@@ -73,6 +73,6 @@ public abstract class FavoritesToolbarButtonAction extends AnActionButton implem
|
||||
@Override
|
||||
public void updateButton(@NotNull AnActionEvent e) {
|
||||
super.updateButton(e);
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, isOptionEnabled());
|
||||
Toggleable.setSelected(e.getPresentation(), isOptionEnabled());
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ public class InspectionFilterAction extends DefaultActionGroup implements Toggle
|
||||
@Override
|
||||
public void update(@NotNull AnActionEvent e) {
|
||||
super.update(e);
|
||||
e.getPresentation().putClientProperty(Toggleable.SELECTED_PROPERTY, !myInspectionsFilter.isEmptyFilter());
|
||||
Toggleable.setSelected(e.getPresentation(), !myInspectionsFilter.isEmptyFilter());
|
||||
}
|
||||
|
||||
private void tune(InspectionProfileImpl profile, Project project) {
|
||||
|
||||
@@ -28,7 +28,7 @@ public abstract class ToggleAction extends AnAction implements Toggleable {
|
||||
final boolean state = !isSelected(e);
|
||||
setSelected(e, state);
|
||||
final Presentation presentation = e.getPresentation();
|
||||
presentation.putClientProperty(SELECTED_PROPERTY, state);
|
||||
Toggleable.setSelected(presentation, state);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -49,7 +49,7 @@ public abstract class ToggleAction extends AnAction implements Toggleable {
|
||||
public void update(@NotNull final AnActionEvent e){
|
||||
boolean selected = isSelected(e);
|
||||
final Presentation presentation = e.getPresentation();
|
||||
presentation.putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(presentation, selected);
|
||||
if (e.isFromContextMenu()) {
|
||||
//force to show check marks instead of toggled icons in context menu
|
||||
presentation.setIcon(null);
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.intellij.openapi.actionSystem;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.*;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ToggleOptionAction extends ToggleAction {
|
||||
@@ -49,7 +49,7 @@ public class ToggleOptionAction extends ToggleAction {
|
||||
Presentation presentation = event.getPresentation();
|
||||
presentation.setEnabledAndVisible(supported);
|
||||
if (supported) {
|
||||
presentation.putClientProperty(SELECTED_PROPERTY, option.isSelected());
|
||||
Toggleable.setSelected(presentation, option.isSelected());
|
||||
presentation.setText(option.getName());
|
||||
presentation.setDescription(option.getDescription());
|
||||
if (ActionPlaces.isPopupPlace(event.getPlace())) presentation.setIcon(null);
|
||||
|
||||
@@ -16,8 +16,41 @@
|
||||
|
||||
package com.intellij.openapi.actionSystem;
|
||||
|
||||
import com.intellij.util.ThreeState;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* A marker interface for the action which could be toggled between "selected" and "not selected" states.
|
||||
*/
|
||||
public interface Toggleable {
|
||||
/**
|
||||
* A property for the presentation to hold the state of the toggleable action.
|
||||
* Normally you should not use this directly.
|
||||
* Use {@link #isSelected(Presentation)} and {@link #setSelected(Presentation, boolean)} methods instead.
|
||||
*/
|
||||
@NonNls String SELECTED_PROPERTY = "selected";
|
||||
|
||||
/**
|
||||
* Checks whether given presentation is in the "selected" state
|
||||
* @param presentation presentation to check
|
||||
* @return {@link ThreeState#YES} if "selected",
|
||||
* {@link ThreeState#NO} if "not selected", {@link ThreeState#UNSURE} if the state wasn't set previously.
|
||||
*/
|
||||
@NotNull
|
||||
@Contract(pure = true)
|
||||
static ThreeState isSelected(@NotNull Presentation presentation) {
|
||||
Object property = presentation.getClientProperty(SELECTED_PROPERTY);
|
||||
return property instanceof Boolean ? ThreeState.fromBoolean((Boolean)property) : ThreeState.UNSURE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the selected state for given presentation (assuming it's a presentation of a toggleable action)
|
||||
* @param presentation presentation to update
|
||||
* @param selected whether the state should be "selected" or "not selected".
|
||||
*/
|
||||
static void setSelected(@NotNull Presentation presentation, boolean selected) {
|
||||
presentation.putClientProperty(SELECTED_PROPERTY, selected);
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.ui.ComponentUtil;
|
||||
import com.intellij.ui.components.JBCheckBox;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -54,7 +55,7 @@ public abstract class CheckboxAction extends ToggleAction implements CustomCompo
|
||||
|
||||
protected void updateCustomComponent(JCheckBox checkBox, Presentation presentation) {
|
||||
updateCheckboxPresentation(checkBox, presentation);
|
||||
checkBox.setSelected(Boolean.TRUE.equals(presentation.getClientProperty(SELECTED_PROPERTY)));
|
||||
checkBox.setSelected(Toggleable.isSelected(presentation) == ThreeState.YES);
|
||||
}
|
||||
|
||||
static void updateCheckboxPresentation(JCheckBox checkBox, Presentation presentation) {
|
||||
|
||||
@@ -52,15 +52,14 @@ public abstract class ToggleActionButton extends AnActionButton implements Toggl
|
||||
public final void actionPerformed(@NotNull AnActionEvent e) {
|
||||
final boolean state = !isSelected(e);
|
||||
setSelected(e, state);
|
||||
final Boolean selected = state;
|
||||
final Presentation presentation = e.getPresentation();
|
||||
presentation.putClientProperty(Toggleable.SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(presentation, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void updateButton(@NotNull AnActionEvent e) {
|
||||
final Boolean selected = isSelected(e);
|
||||
final boolean selected = isSelected(e);
|
||||
final Presentation presentation = e.getPresentation();
|
||||
presentation.putClientProperty(Toggleable.SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(presentation, selected);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class PinActiveTabAction extends DumbAwareAction implements Toggleable {
|
||||
if (handler == null) return;
|
||||
boolean selected = !handler.isPinned;
|
||||
handler.setPinned(selected);
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(e.getPresentation(), selected);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -54,7 +54,7 @@ public class PinActiveTabAction extends DumbAwareAction implements Toggleable {
|
||||
boolean selected = enabled && handler.isPinned;
|
||||
|
||||
e.getPresentation().setIcon(e.isFromActionToolbar() ? AllIcons.General.Pin_tab : null);
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(e.getPresentation(), selected);
|
||||
|
||||
String text;
|
||||
// add the word "active" if the target tab is not current
|
||||
|
||||
@@ -747,7 +747,7 @@ public class ComponentPanelTestAction extends DumbAwareAction {
|
||||
actionsArray[1].getTemplatePresentation().setEnabled(false);
|
||||
}
|
||||
|
||||
e.getPresentation().putClientProperty(Toggleable.SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(e.getPresentation(), selected);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.scale.JBUIScale;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.ui.JBInsets;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.StartupUiUtil;
|
||||
@@ -149,7 +150,7 @@ public class SplitButtonAction extends AnAction implements CustomComponentAction
|
||||
|
||||
private boolean isToggleActionPushed() {
|
||||
return selectedAction instanceof Toggleable &&
|
||||
myPresentation.getClientProperty(Toggleable.SELECTED_PROPERTY) == Boolean.TRUE;
|
||||
Toggleable.isSelected(myPresentation) == ThreeState.YES;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.ComponentUtil;
|
||||
import com.intellij.ui.scale.JBUIScale;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.ui.*;
|
||||
import com.intellij.util.ui.accessibility.AccessibleContextUtil;
|
||||
import com.intellij.util.ui.accessibility.ScreenReader;
|
||||
@@ -113,8 +114,7 @@ public class ActionButton extends JComponent implements ActionButtonComponent, A
|
||||
@Override
|
||||
public int getPopState() {
|
||||
if (myAction instanceof Toggleable) {
|
||||
Boolean selected = (Boolean)myPresentation.getClientProperty(Toggleable.SELECTED_PROPERTY);
|
||||
boolean flag1 = selected != null && selected.booleanValue();
|
||||
boolean flag1 = Toggleable.isSelected(myPresentation) == ThreeState.YES;
|
||||
return getPopState(flag1);
|
||||
}
|
||||
else {
|
||||
|
||||
+2
-1
@@ -19,6 +19,7 @@ import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.ui.components.JBCheckBoxMenuItem;
|
||||
import com.intellij.ui.plaf.beg.BegMenuItemUI;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.ui.EmptyIcon;
|
||||
import com.intellij.util.ui.LafIconLookup;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
@@ -199,7 +200,7 @@ public class ActionMenuItem extends JBCheckBoxMenuItem {
|
||||
private void updateIcon(AnAction action) {
|
||||
if (isToggleable() && (myPresentation.getIcon() == null || myInsideCheckedGroup || !UISettings.getInstance().getShowIconsInMenus())) {
|
||||
action.update(myEvent);
|
||||
myToggled = Boolean.TRUE.equals(myEvent.getPresentation().getClientProperty(Toggleable.SELECTED_PROPERTY));
|
||||
myToggled = Toggleable.isSelected(myEvent.getPresentation()) == ThreeState.YES;
|
||||
if (ActionPlaces.MAIN_MENU.equals(myPlace) && SystemInfo.isMacSystemMenu) {
|
||||
setState(myToggled);
|
||||
}
|
||||
|
||||
+3
-2
@@ -9,6 +9,7 @@ import com.intellij.openapi.ui.playback.PlaybackContext;
|
||||
import com.intellij.openapi.util.ActionCallback;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.util.ThreeState;
|
||||
import org.jetbrains.concurrency.Promise;
|
||||
import org.jetbrains.concurrency.Promises;
|
||||
|
||||
@@ -73,8 +74,8 @@ public class ToggleActionCommand extends AbstractCommand {
|
||||
|
||||
ActionUtil.performDumbAwareUpdate(LaterInvocator.isInModalContext(), action, event, false);
|
||||
|
||||
Boolean state = (Boolean)event.getPresentation().getClientProperty(ToggleAction.SELECTED_PROPERTY);
|
||||
if (state.booleanValue() != on) {
|
||||
ThreeState state = Toggleable.isSelected(event.getPresentation());
|
||||
if (state.toBoolean() != on) {
|
||||
ActionManager.getInstance().tryToExecute(action, inputEvent, null, ActionPlaces.UNKNOWN, true).doWhenProcessed(result.createSetDoneRunnable());
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -8,11 +8,11 @@ import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
|
||||
import com.intellij.openapi.actionSystem.ex.ActionUtil;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.IndexNotReadyException;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.ui.mac.foundation.ID;
|
||||
import com.intellij.util.ThreeState;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -32,8 +32,6 @@ class TBItemAnActionButton extends TBItemButton {
|
||||
public static final int SHOWMODE_IMAGE_TEXT = 2;
|
||||
public static final int SHOWMODE_IMAGE_ONLY_IF_PRESENTED = 3;
|
||||
|
||||
private static final Logger LOG = Logger.getInstance(TBItemAnActionButton.class);
|
||||
|
||||
private @NotNull AnAction myAnAction;
|
||||
private @Nullable String myActionId;
|
||||
|
||||
@@ -141,8 +139,7 @@ class TBItemAnActionButton extends TBItemButton {
|
||||
|
||||
boolean isSelected = false;
|
||||
if (myAnAction instanceof Toggleable) {
|
||||
final Object selectedProp = presentation.getClientProperty(Toggleable.SELECTED_PROPERTY);
|
||||
isSelected = selectedProp == Boolean.TRUE;
|
||||
isSelected = Toggleable.isSelected(presentation) == ThreeState.YES;
|
||||
if (myNativePeer != ID.NIL && myActionId != null && myActionId.startsWith("Console.Jdbc.Execute")) // permanent update of toggleable-buttons of DataGrip
|
||||
myUpdateOptions |= NSTLibrary.BUTTON_UPDATE_FLAGS;
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@ package com.intellij.ui.popup;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.impl.PresentationFactory;
|
||||
import com.intellij.openapi.actionSystem.impl.Utils;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.ui.SizedIcon;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.ui.EmptyIcon;
|
||||
import com.intellij.util.ui.LafIconLookup;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -19,8 +19,6 @@ import java.util.List;
|
||||
import static com.intellij.openapi.actionSystem.Presentation.restoreTextWithMnemonic;
|
||||
|
||||
public class ActionStepBuilder extends PresentationFactory {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.ui.popup.PopupFactoryImpl");
|
||||
|
||||
private final List<PopupFactoryImpl.ActionItem> myListModel;
|
||||
private final DataContext myDataContext;
|
||||
private final boolean myShowNumbers;
|
||||
@@ -151,7 +149,7 @@ public class ActionStepBuilder extends PresentationFactory {
|
||||
if (actionId != null && actionId.startsWith("QuickList.")) {
|
||||
icon = null; // AllIcons.Actions.QuickList;
|
||||
}
|
||||
else if (action instanceof Toggleable && Boolean.TRUE.equals(presentation.getClientProperty(Toggleable.SELECTED_PROPERTY))) {
|
||||
else if (action instanceof Toggleable && Toggleable.isSelected(presentation) == ThreeState.YES) {
|
||||
icon = LafIconLookup.getIcon("checkmark");
|
||||
selectedIcon = LafIconLookup.getSelectedIcon("checkmark");
|
||||
disabledIcon = LafIconLookup.getDisabledIcon("checkmark");
|
||||
|
||||
+3
-1
@@ -5,6 +5,8 @@ import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.actionSystem.ToggleAction;
|
||||
import com.intellij.openapi.actionSystem.Toggleable;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.xdebugger.XDebugSession;
|
||||
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
|
||||
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl;
|
||||
@@ -48,7 +50,7 @@ final class ShowLibraryFramesAction extends ToggleAction {
|
||||
|
||||
if (Boolean.TRUE.equals(isSupported)) {
|
||||
presentation.setVisible(true);
|
||||
final boolean shouldShow = !Boolean.TRUE.equals(presentation.getClientProperty(SELECTED_PROPERTY));
|
||||
final boolean shouldShow = Toggleable.isSelected(presentation) != ThreeState.YES;
|
||||
presentation.setText(shouldShow ? ourTextWhenShowIsOn : ourTextWhenShowIsOff);
|
||||
}
|
||||
else {
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ public class ToggleLineBreakpointAction extends XDebuggerActionBase implements D
|
||||
event.getPresentation().setIcon(AllIcons.Debugger.Db_set_breakpoint);
|
||||
|
||||
final boolean selected = hasLineBreakpoint(event);
|
||||
event.getPresentation().putClientProperty(SELECTED_PROPERTY, selected);
|
||||
Toggleable.setSelected(event.getPresentation(), selected);
|
||||
}
|
||||
|
||||
private static boolean hasLineBreakpoint(@NotNull AnActionEvent e) {
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ abstract class BaseChangeSplitLayoutAction extends AnAction implements DumbAware
|
||||
e.getPresentation().setEnabled(splitFileEditor != null);
|
||||
|
||||
if (myLayoutToSet != null && splitFileEditor != null) {
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, splitFileEditor.getCurrentEditorLayout() == myLayoutToSet);
|
||||
Toggleable.setSelected(e.getPresentation(), splitFileEditor.getCurrentEditorLayout() == myLayoutToSet);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ abstract class BaseChangeSplitLayoutAction extends AnAction implements DumbAware
|
||||
}
|
||||
else {
|
||||
splitFileEditor.triggerLayoutChange(myLayoutToSet, true);
|
||||
e.getPresentation().putClientProperty(SELECTED_PROPERTY, true);
|
||||
Toggleable.setSelected(e.getPresentation(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -18,10 +18,7 @@ package com.intellij.designer.propertyTable.actions;
|
||||
import com.intellij.designer.DesignerBundle;
|
||||
import com.intellij.designer.propertyTable.RadPropertyTable;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.actionSystem.ActionPlaces;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.actionSystem.ToggleAction;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
@@ -63,7 +60,7 @@ public class ShowExpert extends ToggleAction {
|
||||
public void setSelected(@NotNull AnActionEvent e, boolean state) {
|
||||
myTable.showExpert(state);
|
||||
if (ActionPlaces.GUI_DESIGNER_PROPERTY_INSPECTOR_POPUP.equals(e.getPlace())) {
|
||||
getTemplatePresentation().putClientProperty(SELECTED_PROPERTY, state);
|
||||
Toggleable.setSelected(getTemplatePresentation(), state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -70,7 +70,7 @@ public class TableTabAction extends ToggleAction implements DumbAware {
|
||||
}
|
||||
|
||||
public void updateState() {
|
||||
getTemplatePresentation().putClientProperty(Toggleable.SELECTED_PROPERTY, Boolean.valueOf(isSelected()));
|
||||
Toggleable.setSelected(getTemplatePresentation(), isSelected());
|
||||
myButton.repaint();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user