Search in sources :

Example 1 with NatEventData

use of org.eclipse.nebula.widgets.nattable.ui.NatEventData in project nebula.widgets.nattable by eclipse.

the class MenuItemProvidersTest method shouldGetDataFromParentForNestedMenus.

@Test
public void shouldGetDataFromParentForNestedMenus() throws Exception {
    Display display = Display.getDefault();
    Shell shell = new Shell(display);
    Menu menu = new Menu(shell, SWT.POP_UP);
    menu.setData(MenuItemProviders.NAT_EVENT_DATA_KEY, new NatEventData(null, null, 5, 1, null));
    MenuItem item1 = new MenuItem(menu, SWT.PUSH);
    item1.setText("Push Item");
    MenuItem item2 = new MenuItem(menu, SWT.CASCADE);
    item2.setText("Cascade Item");
    Menu subMenu = new Menu(menu);
    item2.setMenu(subMenu);
    MenuItem subItem1 = new MenuItem(subMenu, SWT.PUSH);
    subItem1.setText("Subitem 1");
    MenuItem subItem2 = new MenuItem(subMenu, SWT.PUSH);
    subItem2.setText("Subitem 2");
    Event testEvent = new Event();
    testEvent.widget = shell;
    SelectionEvent selectionEvent = new SelectionEvent(testEvent);
    selectionEvent.widget = subItem2;
    NatEventData natEventData = MenuItemProviders.getNatEventData(selectionEvent);
    Assert.assertNotNull(natEventData);
    Assert.assertEquals(5, natEventData.getColumnPosition());
    Assert.assertEquals(1, natEventData.getRowPosition());
}
Also used : Shell(org.eclipse.swt.widgets.Shell) SelectionEvent(org.eclipse.swt.events.SelectionEvent) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Event(org.eclipse.swt.widgets.Event) NatEventData(org.eclipse.nebula.widgets.nattable.ui.NatEventData) MenuItem(org.eclipse.swt.widgets.MenuItem) Menu(org.eclipse.swt.widgets.Menu) Display(org.eclipse.swt.widgets.Display) Test(org.junit.Test)

Example 2 with NatEventData

use of org.eclipse.nebula.widgets.nattable.ui.NatEventData in project nebula.widgets.nattable by eclipse.

the class ClearAllFiltersAction method run.

@Override
public void run(NatTable natTable, MouseEvent event) {
    NatEventData natEventData = (NatEventData) event.data;
    natTable.doCommand(new ClearFilterCommand(natTable, natEventData.getColumnPosition()));
}
Also used : ClearFilterCommand(org.eclipse.nebula.widgets.nattable.filterrow.command.ClearFilterCommand) NatEventData(org.eclipse.nebula.widgets.nattable.ui.NatEventData)

Example 3 with NatEventData

use of org.eclipse.nebula.widgets.nattable.ui.NatEventData in project nebula.widgets.nattable by eclipse.

the class ClearFilterAction method run.

@Override
public void run(NatTable natTable, MouseEvent event) {
    NatEventData natEventData = (NatEventData) event.data;
    natTable.doCommand(new ClearFilterCommand(natTable, natEventData.getColumnPosition()));
}
Also used : ClearFilterCommand(org.eclipse.nebula.widgets.nattable.filterrow.command.ClearFilterCommand) NatEventData(org.eclipse.nebula.widgets.nattable.ui.NatEventData)

Example 4 with NatEventData

use of org.eclipse.nebula.widgets.nattable.ui.NatEventData in project nebula.widgets.nattable by eclipse.

the class ColumnGroupMenuItemProviders method removeColumnGroupMenuItemProvider.

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));
                }
            });
        }
    };
}
Also used : RemoveColumnGroupCommand(org.eclipse.nebula.widgets.nattable.group.command.RemoveColumnGroupCommand) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) IMenuItemProvider(org.eclipse.nebula.widgets.nattable.ui.menu.IMenuItemProvider) SelectionEvent(org.eclipse.swt.events.SelectionEvent) NatTable(org.eclipse.nebula.widgets.nattable.NatTable) MenuItem(org.eclipse.swt.widgets.MenuItem) NatEventData(org.eclipse.nebula.widgets.nattable.ui.NatEventData) Menu(org.eclipse.swt.widgets.Menu)

Example 5 with NatEventData

use of org.eclipse.nebula.widgets.nattable.ui.NatEventData in project nebula.widgets.nattable by eclipse.

the class SortColumnAction method run.

@Override
public void run(NatTable natTable, MouseEvent event) {
    int columnPosition = ((NatEventData) event.data).getColumnPosition();
    natTable.doCommand(new SortColumnCommand(natTable, columnPosition, this.accumulate));
}
Also used : SortColumnCommand(org.eclipse.nebula.widgets.nattable.sort.command.SortColumnCommand) NatEventData(org.eclipse.nebula.widgets.nattable.ui.NatEventData)

Aggregations

NatEventData (org.eclipse.nebula.widgets.nattable.ui.NatEventData)13 SelectionEvent (org.eclipse.swt.events.SelectionEvent)7 Menu (org.eclipse.swt.widgets.Menu)7 MenuItem (org.eclipse.swt.widgets.MenuItem)7 NatTable (org.eclipse.nebula.widgets.nattable.NatTable)6 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)6 IMenuItemProvider (org.eclipse.nebula.widgets.nattable.ui.menu.IMenuItemProvider)3 ClearFilterCommand (org.eclipse.nebula.widgets.nattable.filterrow.command.ClearFilterCommand)2 DisplayColumnGroupRenameDialogCommand (org.eclipse.nebula.widgets.nattable.group.command.DisplayColumnGroupRenameDialogCommand)2 RemoveColumnGroupCommand (org.eclipse.nebula.widgets.nattable.group.command.RemoveColumnGroupCommand)2 LabelStack (org.eclipse.nebula.widgets.nattable.layer.LabelStack)2 Timer (java.util.Timer)1 UngroupByColumnIndexCommand (org.eclipse.nebula.widgets.nattable.extension.glazedlists.groupBy.command.UngroupByColumnIndexCommand)1 CellVisualChangeEvent (org.eclipse.nebula.widgets.nattable.layer.event.CellVisualChangeEvent)1 SortColumnCommand (org.eclipse.nebula.widgets.nattable.sort.command.SortColumnCommand)1 IMouseAction (org.eclipse.nebula.widgets.nattable.ui.action.IMouseAction)1 PopupMenuBuilder (org.eclipse.nebula.widgets.nattable.ui.menu.PopupMenuBuilder)1 MouseEvent (org.eclipse.swt.events.MouseEvent)1 Display (org.eclipse.swt.widgets.Display)1 Event (org.eclipse.swt.widgets.Event)1