/** * Updates the radio state of the command to the given value * * @param command the command whose state should be updated * @param newState the new state * @throws ExecutionException When the command doesn't have a radio state * @since 3.5 */ public static void updateRadioState(Command command, String newState) throws ExecutionException { State state = command.getState(RadioState.STATE_ID); if (state == null) throw new ExecutionException("The command does not have a radio state"); // $NON-NLS-1$ state.setValue(newState); }
@Override public void setEnabled(final Object evaluationContext) { super.setEnabled(evaluationContext); if (_isAppPhotoFilterInitialized == false) { _isAppPhotoFilterInitialized = true; /* * initialize app photo filter, this is a hack because the whole app startup should be * sometimes be streamlined, it's more and more confusing */ final Command command = ((ICommandService) PlatformUI // .getWorkbench() .getService(ICommandService.class)) // .getCommand(ActionHandlerPhotoFilter.COMMAND_ID); final State state = command.getState(RegistryToggleState.STATE_ID); final Boolean isPhotoFilterActive = (Boolean) state.getValue(); TourbookPlugin.setActivePhotoFilter(isPhotoFilterActive); } }
public final void setText(final String text) { final State state = command.getCommand().getState(INamedHandleStateIds.NAME); if (state instanceof TextState) { final String currentValue = (String) state.getValue(); if (!Util.equals(text, currentValue)) { state.setValue(text); } } }
public final boolean isChecked() { final State state = command.getCommand().getState(IMenuStateIds.STYLE); if (state instanceof ToggleState) { final Boolean currentValue = (Boolean) state.getValue(); return currentValue.booleanValue(); } return false; }
public static boolean isShowPlanNames() { ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getService(ICommandService.class); Command command = commandService.getCommand("at.ac.tuwien.ieg.asbruedit.show-planname-toggle"); State state = command.getState("org.eclipse.ui.commands.toggleState"); boolean isToggled = (Boolean) state.getValue(); return isToggled; }
/** * Toggles the command's state. * * @param command The command whose state needs to be toggled * @return the original value before toggling * @throws ExecutionException When the command doesn't contain the toggle state or when the state * doesn't contain a boolean value * @since 3.5 */ public static boolean toggleCommandState(Command command) throws ExecutionException { State state = command.getState(RegistryToggleState.STATE_ID); if (state == null) throw new ExecutionException("The command does not have a toggle state"); // $NON-NLS-1$ if (!(state.getValue() instanceof Boolean)) throw new ExecutionException( "The command's toggle state doesn't contain a boolean value"); //$NON-NLS-1$ boolean oldValue = ((Boolean) state.getValue()).booleanValue(); state.setValue(Boolean.valueOf(!oldValue)); return oldValue; }
public final void setChecked(final boolean checked) { final State state = command.getCommand().getState(IMenuStateIds.STYLE); if (state instanceof ToggleState) { final Boolean currentValue = (Boolean) state.getValue(); if (checked != currentValue.booleanValue()) { if (checked) { state.setValue(Boolean.TRUE); } else { state.setValue(Boolean.FALSE); } } } }
/** * Checks whether the radio state of the command is same as the radio state parameter's value * * @param event The execution event that contains the application context * @return <code>true</code> whe the values are same, <code>false</code> otherwise * @throws ExecutionException When the command doesn't have the radio state or the event doesn't * have the radio state parameter * @since 3.5 */ public static boolean matchesRadioState(ExecutionEvent event) throws ExecutionException { String parameter = event.getParameter(RadioState.PARAMETER_ID); if (parameter == null) throw new ExecutionException( "The event does not have the radio state parameter"); //$NON-NLS-1$ Command command = event.getCommand(); State state = command.getState(RadioState.STATE_ID); if (state == null) throw new ExecutionException("The command does not have a radio state"); // $NON-NLS-1$ if (!(state.getValue() instanceof String)) throw new ExecutionException( "The command's radio state doesn't contain a String value"); //$NON-NLS-1$ return parameter.equals(state.getValue()); }