类org.eclipse.swt.widgets.Menu源码实例Demo

下面列出了怎么用org.eclipse.swt.widgets.Menu的API类实例代码及写法,或者点击链接到github查看源代码。

@Override public void callExtensionPoint( LogChannelInterface logChannelInterface, Object extension )
  throws KettleException {
  Menu popupMenu = null;

  Tree selectionTree = (Tree) extension;
  TreeSelection[] objects = spoonSupplier.get().getTreeObjects( selectionTree );
  TreeSelection object = objects[ 0 ];
  Object selection = object.getSelection();

  if ( selection == RunConfiguration.class ) {
    popupMenu = createRootPopupMenu( selectionTree );
  } else if ( selection instanceof String ) {
    runConfiguration = (String) selection;
    if ( runConfiguration.equalsIgnoreCase( DefaultRunConfigurationProvider.DEFAULT_CONFIG_NAME ) ) {
      return;
    }
    popupMenu = createItemPopupMenu( selectionTree );
  }

  if ( popupMenu != null ) {
    ConstUI.displayMenu( popupMenu, selectionTree );
  } else {
    selectionTree.setMenu( null );
  }
}
 
源代码2 项目: hop   文件: GuiMenuWidgets.java
public void createMenuWidgets( String root, Shell shell, Menu parent ) {
  // Find the GUI Elements for the given class...
  //
  GuiRegistry registry = GuiRegistry.getInstance();

  // Loop over the GUI elements and create menus all the way down...
  // We used the same ID for root and top level menu
  //
  List<GuiMenuItem> guiMenuItems = registry.findChildGuiMenuItems( root, root );
  if ( guiMenuItems.isEmpty()) {
    System.err.println( "Create menu widgets: no GUI menu items found for root: " + root);
    return;
  }

  // Sort by ID to get a stable UI
  //
  Collections.sort(guiMenuItems);

  for (GuiMenuItem guiMenuItem : guiMenuItems) {
    addMenuWidgets( root, shell, parent, guiMenuItem );
  }
}
 
源代码3 项目: neoscada   文件: ProtocolEditor.java
/**
 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
protected void createContextMenuFor ( StructuredViewer viewer )
{
    MenuManager contextMenu = new MenuManager ( "#PopUp" ); //$NON-NLS-1$
    contextMenu.add ( new Separator ( "additions" ) ); //$NON-NLS-1$
    contextMenu.setRemoveAllWhenShown ( true );
    contextMenu.addMenuListener ( this );
    Menu menu = contextMenu.createContextMenu ( viewer.getControl () );
    viewer.getControl ().setMenu ( menu );
    getSite ().registerContextMenu ( contextMenu, new UnwrappingSelectionProvider ( viewer ) );

    int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
    Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance (), LocalSelectionTransfer.getTransfer (), FileTransfer.getInstance () };
    viewer.addDragSupport ( dndOperations, transfers, new ViewerDragAdapter ( viewer ) );
    viewer.addDropSupport ( dndOperations, transfers, new EditingDomainViewerDropAdapter ( editingDomain, viewer ) );
}
 
源代码4 项目: tmxeditor8   文件: MenuItemProviders.java
public static IMenuItemProvider renameColumnMenuItemProvider(final String label) {
	return new IMenuItemProvider() {

		public void addMenuItem(final NatTable natTable, final Menu popupMenu) {
			MenuItem menuItem = new MenuItem(popupMenu, SWT.PUSH);
			menuItem.setText(label);
			menuItem.setEnabled(true);

			menuItem.addSelectionListener(new SelectionAdapter() {
				@Override
				public void widgetSelected(SelectionEvent event) {
					natTable.doCommand(new DisplayColumnRenameDialogCommand(natTable, getNatEventData(event).getColumnPosition()));
				}
			});
		}
	};
}
 
源代码5 项目: nebula   文件: AbstractPictureControl.java
/**
 * Create the menu with "Delete", "Modify" Item.
 *
 * @param parent
 * @return
 */
protected Menu createMenu(Control parent) {
	Menu menu = new Menu(parent);

	// "Delete" menu item.
	deleteItem = new MenuItem(menu, SWT.NONE);
	deleteItem.setText(resources.getString(PICTURE_CONTROL_DELETE));
	deleteItem.addListener(SWT.Selection, e -> {
		// Delete the image.
		AbstractPictureControl.this.handleDeleteImage();
	});

	// "Modify" menu item.
	final MenuItem modifyItem = new MenuItem(menu, SWT.NONE);
	modifyItem.setText(resources.getString(PICTURE_CONTROL_MODIFY));
	modifyItem.addListener(SWT.Selection, e -> {
		// Modify the image.
		AbstractPictureControl.this.handleModifyImage();
	});
	return menu;
}
 
private void createContextMenu() {
  MenuManager menuMgr = new MenuManager("#PopupMenu");
  menuMgr.setRemoveAllWhenShown(true);
  menuMgr.addMenuListener(new IMenuListener() {
    @Override
    public void menuAboutToShow(IMenuManager manager) {
      populateBrowserActions(launchConfiguration, manager);
      manager.add(new Separator());

      manager.add(new Action("&Copy") {
        @Override
        public void run() {
          copySelectionToClipboard();
        }
      });
    }
  });
  Menu menu = menuMgr.createContextMenu(viewer.getControl());
  viewer.getControl().setMenu(menu);
}
 
源代码7 项目: xtext-eclipse   文件: EmbeddedEditorActions.java
protected void initialize() {
	createFocusAndDisposeListeners();

	createActions();

	// create context menu
	MenuManager manager = new MenuManager(null, null);
	manager.setRemoveAllWhenShown(true);
	manager.addMenuListener(new IMenuListener() {
		@Override
		public void menuAboutToShow(IMenuManager mgr) {
			fillContextMenu(mgr);
		}
	});

	StyledText text = viewer.getTextWidget();
	Menu menu = manager.createContextMenu(text);
	text.setMenu(menu);
	
	List<ActionActivationCode> activationCodes = Lists.newArrayList();
	setActionActivationCode(activationCodes, ITextEditorActionConstants.SHIFT_RIGHT_TAB,'\t', -1, SWT.NONE);
	setActionActivationCode(activationCodes, ITextEditorActionConstants.SHIFT_LEFT, '\t', -1, SWT.SHIFT);
	viewer.getTextWidget().addVerifyKeyListener(new ActivationCodeTrigger(allActions, activationCodes));
}
 
源代码8 项目: neoscada   文件: VisualInterfaceEditor.java
/**
 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
protected void createContextMenuFor ( StructuredViewer viewer )
{
    MenuManager contextMenu = new MenuManager ( "#PopUp" ); //$NON-NLS-1$
    contextMenu.add ( new Separator ( "additions" ) ); //$NON-NLS-1$
    contextMenu.setRemoveAllWhenShown ( true );
    contextMenu.addMenuListener ( this );
    Menu menu = contextMenu.createContextMenu ( viewer.getControl () );
    viewer.getControl ().setMenu ( menu );
    getSite ().registerContextMenu ( contextMenu, new UnwrappingSelectionProvider ( viewer ) );

    int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
    Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance (), LocalSelectionTransfer.getTransfer (), FileTransfer.getInstance () };
    viewer.addDragSupport ( dndOperations, transfers, new ViewerDragAdapter ( viewer ) );
    viewer.addDropSupport ( dndOperations, transfers, new EditingDomainViewerDropAdapter ( editingDomain, viewer ) );
}
 
@Override
public void fill(Menu menu, int index)
{
	IThemeManager manager = ThemePlugin.getDefault().getThemeManager();
	List<String> themeNames = new ArrayList<String>(manager.getThemeNames());
	// sort ignoring case
	Collections.sort(themeNames, new Comparator<String>()
	{
		public int compare(String o1, String o2)
		{
			return o1.compareToIgnoreCase(o2);
		}
	});
	for (String name : themeNames)
	{
		IContributionItem item = new SwitchThemeContributionItem(manager, name);
		item.fill(menu, menu.getItemCount());
	}
}
 
源代码10 项目: Pydev   文件: SWTUtil.java
/**
 * Returns the shell for the given widget. If the widget doesn't represent
 * a SWT object that manage a shell, <code>null</code> is returned.
 * @param widget the widget
 *
 * @return the shell for the given widget
 */
public static Shell getShell(Widget widget) {
    if (widget instanceof Control) {
        return ((Control) widget).getShell();
    }
    if (widget instanceof Caret) {
        return ((Caret) widget).getParent().getShell();
    }
    if (widget instanceof DragSource) {
        return ((DragSource) widget).getControl().getShell();
    }
    if (widget instanceof DropTarget) {
        return ((DropTarget) widget).getControl().getShell();
    }
    if (widget instanceof Menu) {
        return ((Menu) widget).getParent().getShell();
    }
    if (widget instanceof ScrollBar) {
        return ((ScrollBar) widget).getParent().getShell();
    }

    return null;
}
 
源代码11 项目: elexis-3-core   文件: NatTableWrapper.java
public void addContextMenu(String string, IWorkbenchPartSite iWorkbenchPartSite){
	
	MenuManager mgr = new MenuManager();
	Menu popupmenu = new PopupMenuBuilder(natTable, mgr).build();
	iWorkbenchPartSite.registerContextMenu(string, mgr, null);
	
	natTable.addConfiguration(new AbstractUiBindingConfiguration() {
		
		@Override
		public void configureUiBindings(UiBindingRegistry uiBindingRegistry){
			uiBindingRegistry.registerMouseDownBinding(
				new MouseEventMatcher(SWT.NONE, null, MouseEventMatcher.RIGHT_BUTTON),
				new PopupMenuAction(popupmenu));
		}
	});
}
 
源代码12 项目: saros   文件: StartSessionWithProjects.java
@Override
public void fill(final Menu menu, final int index) {
  final List<JID> contacts =
      SelectionRetrieverFactory.getSelectionRetriever(JID.class).getSelection();

  final IProject[] projects = getSortedWorkspaceProjects();

  if (projects.length == 0) {
    createNoProjectsMenuItem(menu, 0);
    return;
  }

  int idx;

  for (idx = 0; idx < projects.length; idx++)
    createProjectMenuItem(menu, idx, projects[idx], contacts);

  if (idx > 1) {
    new MenuItem(menu, SWT.SEPARATOR, idx++);
    createMultipleProjectMenuItem(menu, idx);
  }
}
 
源代码13 项目: tmxeditor8   文件: MenuItemProviders.java
public static IMenuItemProvider clearToggleFilterRowMenuItemProvider(final String menuLabel) {
	return new IMenuItemProvider() {

		public void addMenuItem(final NatTable natTable, final Menu popupMenu) {
			MenuItem menuItem = new MenuItem(popupMenu, SWT.PUSH);
			menuItem.setText(menuLabel);
			menuItem.setImage(GUIHelper.getImage("toggle_filter"));
			menuItem.setEnabled(true);

			menuItem.addSelectionListener(new SelectionAdapter() {
				@Override
				public void widgetSelected(SelectionEvent e) {
					natTable.doCommand(new ToggleFilterRowCommand());
				}
			});
		}
	};
}
 
源代码14 项目: slr-toolkit   文件: BibtexEntryView.java
private void hookContextMenu() {
	MenuManager menuMgr = new MenuManager("#PopupMenu");
	menuMgr.setRemoveAllWhenShown(true);
	menuMgr.addMenuListener(new IMenuListener() {
		@Override
		public void menuAboutToShow(IMenuManager manager) {
			IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
			if(s.getFirstElement() instanceof DocumentImpl) {
				fillContextMenu(manager);
			}
		}
	});
	Menu menu = menuMgr.createContextMenu(viewer.getControl());
	viewer.getControl().setMenu(menu);
	getSite().registerContextMenu(menuMgr, viewer);
}
 
@SuppressWarnings("restriction")
protected MenuItem createMenu(Menu parent, String command, Optional<Image> image) {
    MenuItem item = new MenuItem(parent, SWT.NONE);
    ParameterizedCommand parameterizedCommand = createParametrizedCommand(command);
    try {
        item.setText(parameterizedCommand.getName());
    } catch (NotDefinedException e) {
        BonitaStudioLog.error(
                String.format("The command '%s' doesn't have any name defined.", parameterizedCommand.getId()), e);
        item.setText(parameterizedCommand.getId());
    }
    item.addListener(SWT.Selection, e -> {
        if (eHandlerService.canExecute(parameterizedCommand)) {
            eHandlerService.executeHandler(parameterizedCommand);
        } else {
            throw new RuntimeException(String.format("Can't execute command %s", parameterizedCommand.getId()));
        }
    });
    item.setEnabled(true);
    appendShortcut(parameterizedCommand, item);
    image.ifPresent(item::setImage);
    return item;
}
 
源代码16 项目: pmTrans   文件: MenuManager.java
private MenuItem addConfigurableMenuItem(Menu menu, final String orgText,
		final String acceleratorKey, SelectionListener listener) {
	char accelerator = Config.getInstance().getString(acceleratorKey)
			.toUpperCase().charAt(0);
	int acc = SWT.MOD1 + (accelerator == ' ' ? SWT.SPACE : accelerator);
	String text = orgText + " \t Ctrl+"
			+ (accelerator == ' ' ? "[space]" : accelerator);

	final MenuItem item = addMenuItem(menu, text, acc, listener);

	Config.getInstance().addPropertyChangeListener(
			new IPropertyChangeListener() {
				public void propertyChange(PropertyChangeEvent arg0) {
					if (arg0.getProperty().equals(acceleratorKey))
						updateAccelerator(item, orgText, Config
								.getInstance().getString(acceleratorKey)
								.toUpperCase().charAt(0));
				}
			});

	return item;
}
 
源代码17 项目: gama   文件: OutputsMenu.java
public void outputSubMenu(final Menu main, final IScope scope, final IOutputManager manager,
		final IDisplayOutput output) {
	final MenuItem item = new MenuItem(main, SWT.CASCADE);
	item.setText(output.getOriginalName());
	final Menu sub = new Menu(item);
	item.setMenu(sub);
	if (output.isOpen()) {
		// menuItem(sub, e -> output.close(), null, "Close");
		if (output.isPaused())
			menuItem(sub, e -> output.setPaused(false), null, "Resume");
		else
			menuItem(sub, e -> output.setPaused(true), null, "Pause");
		menuItem(sub, e -> output.update(), null, "Refresh");
		if (output.isSynchronized())
			menuItem(sub, e -> output.setSynchronized(false), null, "Unsynchronize");
		else
			menuItem(sub, e -> output.setSynchronized(true), null, "Synchronize");
	} else
		menuItem(sub, e -> manager.open(scope, output), null, "Reopen");

}
 
源代码18 项目: APICloud-Studio   文件: SWTUtil.java
/**
 * Returns the shell for the given widget. If the widget doesn't represent a SWT object that manage a shell,
 * <code>null</code> is returned.
 * 
 * @return the shell for the given widget
 */
public static Shell getShell(Widget widget)
{
	if (widget instanceof Control)
		return ((Control) widget).getShell();
	if (widget instanceof Caret)
		return ((Caret) widget).getParent().getShell();
	if (widget instanceof DragSource)
		return ((DragSource) widget).getControl().getShell();
	if (widget instanceof DropTarget)
		return ((DropTarget) widget).getControl().getShell();
	if (widget instanceof Menu)
		return ((Menu) widget).getParent().getShell();
	if (widget instanceof ScrollBar)
		return ((ScrollBar) widget).getParent().getShell();

	return null;
}
 
源代码19 项目: saros   文件: StartSessionWithProjects.java
/** Creates a menu entry which shares projects with the given Contacts. */
private MenuItem createProjectMenuItem(
    final Menu parentMenu, final int index, final IProject project, final List<JID> contacts) {

  final MenuItem menuItem = new MenuItem(parentMenu, SWT.NONE, index);

  menuItem.setText(workbenchLabelProvider.getText(project));
  menuItem.setImage(workbenchLabelProvider.getImage(project));

  menuItem.addSelectionListener(
      new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
          CollaborationUtils.startSession(
              Collections.<IResource>singletonList(project), contacts);
        }
      });

  return menuItem;
}
 
源代码20 项目: gama   文件: AgentsMenu.java
public static MenuItem cascadingAgentMenuItem(final Menu parent, final IAgent agent, final String title,
		final MenuAction... actions) {
	final MenuItem result = new MenuItem(parent, SWT.CASCADE);
	result.setText(title);
	Image image;
	if (agent instanceof SimulationAgent) {
		final SimulationAgent sim = (SimulationAgent) agent;
		image = GamaIcons.createTempRoundColorIcon(GamaColors.get(sim.getColor()));
	} else {
		image = GamaIcons.create(IGamaIcons.MENU_AGENT).image();
	}
	result.setImage(image);
	final Menu agentMenu = new Menu(result);
	result.setMenu(agentMenu);
	createMenuForAgent(agentMenu, agent, agent instanceof ITopLevelAgent, true, actions);
	return result;
}
 
源代码21 项目: arx   文件: MainMenu.java
/**
 * Creates a new instance.
 * 
 * @param shell
 * @param controller
 * @param items
 */
public MainMenu(final Shell shell, final Controller controller, final List<MainMenuItem> items) {
    super(controller);

    // Create Menu
    this.menu = new Menu(shell, SWT.BAR);
    
    // Create items
    this.createItems(menu, items);

    // Set menu bar
    shell.setMenuBar(this.menu);
    
    // Enhance experience on OSX
    SWTUtil.fixOSXMenu(controller);
    
    // Initialize
    this.update(new ModelEvent(this, ModelPart.MODEL, null));
}
 
源代码22 项目: tmxeditor8   文件: MenuItemProviders.java
public static IMenuItemProvider createColumnGroupMenuItemProvider() {
	return new IMenuItemProvider() {

		public void addMenuItem(final NatTable natTable, final Menu popupMenu) {
			MenuItem columnStyleEditor = new MenuItem(popupMenu, SWT.PUSH);
			columnStyleEditor.setText("Create column group");
			columnStyleEditor.setEnabled(true);

			columnStyleEditor.addSelectionListener(new SelectionAdapter() {
				@Override
				public void widgetSelected(SelectionEvent e) {
					natTable.doCommand(new OpenCreateColumnGroupDialog(natTable.getShell()));
				}
			});
		}
	};
}
 
@Override public void callExtensionPoint( LogChannelInterface logChannelInterface, Object extension )
  throws KettleException {
  Menu popupMenu = null;

  Tree selectionTree = (Tree) extension;
  TreeSelection[] objects = spoonSupplier.get().getTreeObjects( selectionTree );
  TreeSelection object = objects[ 0 ];
  Object selection = object.getSelection();

  if ( selection == VFSConnectionDetails.class ) {
    popupMenu = createRootPopupMenu( selectionTree );
  } else if ( selection instanceof ConnectionTreeItem ) {
    vfsConnectionTreeItem = (ConnectionTreeItem) selection;
    popupMenu = createItemPopupMenu( selectionTree );
  }

  if ( popupMenu != null ) {
    ConstUI.displayMenu( popupMenu, selectionTree );
  } else {
    selectionTree.setMenu( null );
  }
}
 
源代码24 项目: neoscada   文件: NativeTabProvider.java
public NativeTabProvider ( final Composite box )
{
    this.folder = new TabFolder ( box, SWT.NONE );
    this.folder.setLayoutData ( new GridData ( SWT.FILL, SWT.FILL, true, true ) );

    this.mgr = new MenuManager ();
    final Menu menu = this.mgr.createContextMenu ( this.folder );
    this.folder.setMenu ( menu );
}
 
源代码25 项目: BiglyBT   文件: SBC_TorrentDetailsView.java
@Override
public void menuWillBeShown(MdiEntry entry, Menu menuTree) {
	// todo: This even work?
	TableView<?> tv = SelectedContentManager.getCurrentlySelectedTableView();
	menuTree.setData("TableView", tv);
	DownloadManager manager = DataSourceUtils.getDM(((BaseMdiEntry) entry).getDatasourceCore());
	if (manager != null) {
		menuTree.setData("downloads", new DownloadManager[] {
			manager
		});
	}
	menuTree.setData("is_detailed_view", Boolean.TRUE);

	MenuFactory.buildTorrentMenu(menuTree);
}
 
源代码26 项目: xds-ide   文件: XFindPanel.java
public void showSettings() {
        final MenuManager manager = new MenuManager();
        fillSettingsMenu(manager);
        final Menu menu = manager.createContextMenu(toolBar);

//        menu.setLocation(toolBar.getDisplay().getCursorLocation());
        menu.setLocation(getToolItemLocation(bSettings));
        
        menu.setVisible(true);
    }
 
源代码27 项目: gama   文件: EditorMenu.java
/**
 *
 */
private void createFoldingToggle(final Menu menu) {
	final MenuItem folding = new MenuItem(menu, SWT.CHECK);
	folding.setText(" Fold code sections");
	folding.setImage(GamaIcons.create("toggle.folding").image());
	folding.setSelection(getEditor().isRangeIndicatorEnabled());
	folding.addSelectionListener(new SelectionAdapter() {

		@Override
		public void widgetSelected(final SelectionEvent e) {
			getEditor().getAction("FoldingToggle").run();
		}
	});

}
 
源代码28 项目: birt   文件: ProjectFileDialog.java
private void showViewMenu( )
{
	Menu menu = menuManager.createContextMenu( getShell( ) );
	Rectangle bounds = toolItem.getBounds( );
	Point topLeft = new Point( bounds.x, bounds.y + bounds.height );
	topLeft = toolBar.toDisplay( topLeft );
	menu.setLocation( topLeft.x, topLeft.y );
	menu.setVisible( true );
}
 
源代码29 项目: neoscada   文件: EclipseTabProvider.java
public EclipseTabProvider ( final Composite parent )
{
    this.folder = new CTabFolder ( parent, SWT.TOP | SWT.FLAT | SWT.BORDER );
    this.folder.setTabHeight ( 24 );
    this.folder.setLayoutData ( new GridData ( SWT.FILL, SWT.FILL, true, true ) );

    this.mgr = new MenuManager ();
    final Menu menu = this.mgr.createContextMenu ( this.folder );
    this.folder.setMenu ( menu );
}
 
源代码30 项目: xds-ide   文件: XFindPanel.java
public void showHistoryMenu() {
        if (bHistory.isEnabled()) {
            final MenuManager manager = new MenuManager();
            fillHistoryMenu(manager);
            final Menu menu = manager.createContextMenu(toolBar);

//          menu.setLocation(toolBar.getDisplay().getCursorLocation());
            menu.setLocation(getToolItemLocation(bHistory));

            menu.setVisible(true);
        }
    }
 
 类所在包
 同包方法