private void showMenu() {
    Menu menu = new Menu(getShell(), POP_UP);
    addMenuItem(menu, TransformComponent.class);
    addSeparator(menu);
    addMenuItem(menu, BulletRigidBodyComponent.class);
    addSeparator(menu);
    addMenuItem(menu, OrtographicCameraComponent.class);
    addMenuItem(menu, PerspectiveCameraComponent.class);
    addSeparator(menu);
    addMenuItem(menu, DirectionalLightComponent.class);
    addMenuItem(menu, PointLightComponent.class);
    addMenuItem(menu, SpotLightComponent.class);
    addSeparator(menu);
    addMenuItem(menu, AudioListenerComponent.class);
    addMenuItem(menu, AudioSourceComponent.class);
    addSeparator(menu);
    addMenuItem(menu, TagComponent.class);
    addSeparator(menu);
    addMenuItem(menu, TextureComponent.class);
    addMenuItem(menu, TextureRegionComponent.class);
    addMenuItem(menu, AtlasRegionComponent.class);
    addMenuItem(menu, SkyboxComponent.class);
    addSeparator(menu);
    addMenuItem(menu, ModelComponent.class);
    addMenuItem(menu, ShapeComponent.class);
    addSeparator(menu);
    addMenuItem(menu, TestPropertyEditorsComponent.class);
    addMenuItem(menu, TestEditorComponent.class);
    addMenuItem(menu, TestInputComponent.class);
    addMenuItem(menu, TestTypeSelectionComponnent.class);
    addMenuItem(menu, TestArrayEditorComponent.class);
    addSeparator(menu);
    addScriptMenuItem(menu);

    Point buttonLocation = menuButton.getLocation();
    Rectangle rect = menuButton.getBounds();
    Point menuLocation = new Point(buttonLocation.x - 1, buttonLocation.y + rect.height);

    menu.setLocation(getDisplay().map(menuButton.getParent(), null, menuLocation));
    menu.setVisible(true);
  }