blob: b1019665802ff457b79aa7aef82f65dd17cbf573 [file] [log] [blame]
david_williamscfdb2cd2004-11-11 08:37:49 +00001/*******************************************************************************
2 * Copyright (c) 2001, 2004 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 * Jens Lukowski/Innoopract - initial renaming/restructuring
11 *
12 *******************************************************************************/
nitind1bf20a12005-09-15 11:48:15 +000013package org.eclipse.wst.dtd.ui.views.contentoutline;
david_williamscfdb2cd2004-11-11 08:37:49 +000014
15import java.text.Collator;
16
17import org.eclipse.jface.preference.IPreferenceStore;
18import org.eclipse.jface.viewers.TreeViewer;
19import org.eclipse.jface.viewers.ViewerSorter;
david_williams38046012005-04-08 19:04:29 +000020import org.eclipse.wst.dtd.ui.internal.DTDUIMessages;
david_williamscfdb2cd2004-11-11 08:37:49 +000021import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImageHelper;
22import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImages;
nitindbca26632005-03-30 18:13:32 +000023import org.eclipse.wst.sse.ui.internal.contentoutline.PropertyChangeUpdateAction;
david_williamscfdb2cd2004-11-11 08:37:49 +000024
nitind1bf20a12005-09-15 11:48:15 +000025class SortAction extends PropertyChangeUpdateAction {
david_williamscfdb2cd2004-11-11 08:37:49 +000026 private TreeViewer treeViewer;
27
28 public SortAction(TreeViewer viewer, IPreferenceStore store, String preferenceKey) {
david_williams38046012005-04-08 19:04:29 +000029 super(DTDUIMessages._UI_BUTTON_SORT_ITEMS, store, preferenceKey, false); //$NON-NLS-1$
david_williamscfdb2cd2004-11-11 08:37:49 +000030 setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_OBJ_SORT));
31 setToolTipText(getText());
32 treeViewer = viewer;
33 if (isChecked()) {
34 treeViewer.setSorter(new ViewerSorter(Collator.getInstance()));
35 }
36 }
37
38 /*
39 * (non-Javadoc)
40 *
41 * @see org.eclipse.ui.texteditor.IUpdate#update()
42 */
43 public void update() {
44 super.update();
nitindd6e591d2005-03-14 22:21:57 +000045 // treeViewer.getControl().setVisible(false);
david_williamscfdb2cd2004-11-11 08:37:49 +000046 treeViewer.getControl().setRedraw(false);
47 Object[] expandedElements = treeViewer.getExpandedElements();
48 if (isChecked()) {
49 treeViewer.setSorter(new ViewerSorter(Collator.getInstance()));
nitindd6e591d2005-03-14 22:21:57 +000050 }
51 else {
david_williamscfdb2cd2004-11-11 08:37:49 +000052 treeViewer.setSorter(null);
53 }
54 treeViewer.setInput(treeViewer.getInput());
55 treeViewer.setExpandedElements(expandedElements);
56 // treeViewer.getControl().setVisible(true);
57 treeViewer.getControl().setRedraw(true);
david_williamscfdb2cd2004-11-11 08:37:49 +000058 }
59}