X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.jcr.ui.explorer%2Fsrc%2Forg%2Fargeo%2Fjcr%2Fui%2Fexplorer%2Fcommands%2FSortChildNodes.java;fp=org.argeo.jcr.ui.explorer%2Fsrc%2Forg%2Fargeo%2Fjcr%2Fui%2Fexplorer%2Fcommands%2FSortChildNodes.java;h=2961529d8d2a349f58e2d467d8e52f2503fcb1b7;hb=d33e8191813f561cee96fbbbd3f74737070140d0;hp=0000000000000000000000000000000000000000;hpb=959ea5e8b3cc27eaf6cb31c37d7fc28f2719f6f3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.jcr.ui.explorer/src/org/argeo/jcr/ui/explorer/commands/SortChildNodes.java b/org.argeo.jcr.ui.explorer/src/org/argeo/jcr/ui/explorer/commands/SortChildNodes.java new file mode 100644 index 000000000..2961529d8 --- /dev/null +++ b/org.argeo.jcr.ui.explorer/src/org/argeo/jcr/ui/explorer/commands/SortChildNodes.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2007-2012 Argeo GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.argeo.jcr.ui.explorer.commands; + +import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; +import org.argeo.jcr.ui.explorer.views.GenericJcrBrowser; +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.Command; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.State; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.commands.ICommandService; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * Change isSorted state of the JcrExplorer Browser + */ +public class SortChildNodes extends AbstractHandler { + public final static String ID = JcrExplorerPlugin.ID + ".sortChildNodes"; + + public Object execute(ExecutionEvent event) throws ExecutionException { + GenericJcrBrowser view = (GenericJcrBrowser) HandlerUtil + .getActiveWorkbenchWindow(event).getActivePage() + .findView(GenericJcrBrowser.ID); + + ICommandService service = (ICommandService) PlatformUI.getWorkbench() + .getService(ICommandService.class); + Command command = service.getCommand(ID); + State state = command.getState(ID + ".toggleState"); + + boolean wasSorted = (Boolean) state.getValue(); + view.setSortChildNodes(!wasSorted); + state.setValue(!wasSorted); + return null; + } +}