18dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye/* 28dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * Copyright (C) 2011 The Android Open Source Project 38dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * 48dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * Licensed under the Eclipse Public License, Version 1.0 (the "License"); 58dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * you may not use this file except in compliance with the License. 68dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * You may obtain a copy of the License at 78dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * 88dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * http://www.eclipse.org/org/documents/epl-v10.php 98dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * 108dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * Unless required by applicable law or agreed to in writing, software 118dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * distributed under the License is distributed on an "AS IS" BASIS, 128dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * See the License for the specific language governing permissions and 148dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * limitations under the License. 158dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye */ 168dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye 178dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbyepackage com.android.ide.eclipse.adt.internal.editors.layout.refactoring; 188dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye 19e50549f54810c29bffc681e39d33158ab2a8f26eRaphaelimport com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate; 208dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye 218dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbyeimport org.eclipse.jface.action.IAction; 228dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbyeimport org.eclipse.ltk.ui.refactoring.RefactoringWizard; 238dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbyeimport org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation; 248dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye 258dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye/** 268dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye * Action executed when the "Wrap In" menu item is invoked. 278dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye */ 288dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbyepublic class WrapInAction extends VisualRefactoringAction { 298dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye @Override 308dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye public void run(IAction action) { 318dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye if ((mTextSelection != null || mTreeSelection != null) && mFile != null) { 32e50549f54810c29bffc681e39d33158ab2a8f26eRaphael WrapInRefactoring ref = new WrapInRefactoring(mFile, mDelegate, 338dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye mTextSelection, mTreeSelection); 34e50549f54810c29bffc681e39d33158ab2a8f26eRaphael RefactoringWizard wizard = new WrapInWizard(ref, mDelegate); 358dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(wizard); 368dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye try { 378dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye op.run(mWindow.getShell(), wizard.getDefaultPageTitle()); 388dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye } catch (InterruptedException e) { 398dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye // Interrupted. Pass. 408dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye } 418dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye } 428dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye } 438dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye 44e50549f54810c29bffc681e39d33158ab2a8f26eRaphael public static IAction create(LayoutEditorDelegate editorDelegate) { 45e50549f54810c29bffc681e39d33158ab2a8f26eRaphael return create("Wrap in Container...", editorDelegate, WrapInAction.class); 468dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye } 478dc4366bbaad39d56e1c2ded4046c86a95a17666Tor Norbye} 48