Package org.jampa.gui.handlers.playlists

Source Code of org.jampa.gui.handlers.playlists.MenuRenamePlaylistHandler

package org.jampa.gui.handlers.playlists;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IViewReference;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.HandlerUtil;
import org.jampa.controllers.Controller;
import org.jampa.gui.translations.Messages;
import org.jampa.model.playlists.Playlist;
import org.jampa.model.validators.PlaylistNameValidator;

public class MenuRenamePlaylistHandler extends AbstractHandler implements
    IHandler {

  private void closeViewByID(String id) {
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    IViewReference view = null;
    IViewReference[] tabView = page.getViewReferences();
   
    for (int i = 0; i < tabView.length; i++) {
      if ((tabView[i].getSecondaryId() != null) &&
          (tabView[i].getSecondaryId().equals(id))) {
        view = tabView[i];
        break;
      }
    }
   
    if (view != null) {
      page.hideView(view);
    }
  }
 
  @Override
  public Object execute(ExecutionEvent event) throws ExecutionException {
    IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
   
    InputDialog dialog = new InputDialog(HandlerUtil.getActiveWorkbenchWindow(event).getShell(),
        Messages.getString("MenuRenamePlaylistHandler.Title"), Messages.getString("MenuRenamePlaylistHandler.Question"), Messages.getString("MenuCopyPlaylistHandler.DefaultValue"), new PlaylistNameValidator()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

    int result = dialog.open();

    if (result == InputDialog.OK) {
     
      ISelection selection = window.getActivePage().getSelection();
     
      Object obj = ((IStructuredSelection) selection).getFirstElement();
     
      if (obj != null) {
        closeViewByID(((Playlist ) obj).getName());
        Controller.getInstance().getPlaylistController().renamePlaylist(dialog.getValue(), ((Playlist) obj).getName());               
      }     
    }
    return null;
  }

}
TOP

Related Classes of org.jampa.gui.handlers.playlists.MenuRenamePlaylistHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.