/******************************************************************************* * Copyright (c) 2012 Edwin Park and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Edwin Park - initial API and implementation ******************************************************************************/ package org.eclipse.nebula.widgets.nattable.group.config; import org.eclipse.nebula.widgets.nattable.Messages; import org.eclipse.nebula.widgets.nattable.NatTable; import org.eclipse.nebula.widgets.nattable.group.command.DisplayColumnGroupRenameDialogCommand; import org.eclipse.nebula.widgets.nattable.group.command.RemoveColumnGroupCommand; import org.eclipse.nebula.widgets.nattable.ui.NatEventData; import org.eclipse.nebula.widgets.nattable.ui.menu.IMenuItemProvider; import org.eclipse.nebula.widgets.nattable.ui.menu.MenuItemProviders; import org.eclipse.nebula.widgets.nattable.ui.menu.PopupMenuBuilder; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; /** * @deprecated Use {@link MenuItemProviders} or the {@link PopupMenuBuilder} * directly */ @Deprecated public class ColumnGroupMenuItemProviders { public static IMenuItemProvider renameColumnGroupMenuItemProvider() { return renameColumnGroupMenuItemProvider(Messages .getString("ColumnGroups.renameColumnGroup")); //$NON-NLS-1$ } public static IMenuItemProvider renameColumnGroupMenuItemProvider( final String menuLabel) { return new IMenuItemProvider() { @Override public void addMenuItem(final NatTable natTable, final Menu popupMenu) { MenuItem columnStyleEditor = new MenuItem(popupMenu, SWT.PUSH); columnStyleEditor.setText(menuLabel); columnStyleEditor.setEnabled(true); columnStyleEditor.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { NatEventData natEventData = MenuItemProviders .getNatEventData(e); int columnPosition = natEventData.getColumnPosition(); natTable.doCommand(new DisplayColumnGroupRenameDialogCommand( natTable, columnPosition)); } }); } }; } public static IMenuItemProvider removeColumnGroupMenuItemProvider() { return removeColumnGroupMenuItemProvider(Messages .getString("ColumnGroups.removeColumnGroup")); //$NON-NLS-1$ } public static IMenuItemProvider removeColumnGroupMenuItemProvider( final String menuLabel) { return new IMenuItemProvider() { @Override public void addMenuItem(final NatTable natTable, final Menu popupMenu) { MenuItem columnStyleEditor = new MenuItem(popupMenu, SWT.PUSH); columnStyleEditor.setText(menuLabel); columnStyleEditor.setEnabled(true); columnStyleEditor.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { NatEventData natEventData = MenuItemProviders .getNatEventData(e); int columnPosition = natEventData.getColumnPosition(); int columnIndex = natEventData.getNatTable() .getColumnIndexByPosition(columnPosition); natTable.doCommand(new RemoveColumnGroupCommand( columnIndex)); } }); } }; } }