Java tutorial
/******************************************************************************* * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * *******************************************************************************/ package com.liferay.ide.project.ui.upgrade; import com.liferay.ide.project.ui.ProjectUI; import java.lang.reflect.Method; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IMemento; import org.eclipse.ui.IViewSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.actions.ActionFactory; import org.eclipse.ui.internal.cheatsheets.Messages; import org.eclipse.ui.internal.cheatsheets.views.CheatSheetExpandRestoreAction; import org.eclipse.ui.internal.cheatsheets.views.CheatSheetViewer; import org.eclipse.ui.part.ViewPart; /** * @author Gregory Amerson */ @SuppressWarnings("restriction") public class UpgradeAssistantView extends ViewPart { protected static final String ID = "com.liferay.ide.project.ui.upgradeView"; private CheatSheetViewer _viewer; private boolean _actionBarContributed; private IMemento _memento; private CheatSheetExpandRestoreAction _expandRestoreAction; private Action _copyAction; void contributeToActionBars() { IActionBars bars = getViewSite().getActionBars(); IToolBarManager tbmanager = bars.getToolBarManager(); _expandRestoreAction = new CheatSheetExpandRestoreAction(Messages.COLLAPSE_ALL_BUT_CURRENT_TOOLTIP, false, _viewer); _copyAction = new Action("copy") { public void run() { _viewer.copy(); } }; _copyAction.setEnabled(false); tbmanager.add(_expandRestoreAction); bars.setGlobalActionHandler(ActionFactory.COPY.getId(), _copyAction); try { final Method setExpandRestoreAction = CheatSheetViewer.class.getDeclaredMethod("setExpandRestoreAction", CheatSheetExpandRestoreAction.class); setExpandRestoreAction.setAccessible(true); setExpandRestoreAction.invoke(_viewer, _expandRestoreAction); } catch (Exception e) { } _viewer.setCopyAction(_copyAction); } @Override public void createPartControl(Composite parent) { _viewer = new CheatSheetViewer(false); _viewer.createPartControl(parent); if (!_actionBarContributed) { // contributeToActionBars(); _actionBarContributed = true; } if (_memento != null) { restoreState(_memento); } else { loadUpgradeSheet(); } } private void loadUpgradeSheet() { _viewer.setInput("liferay_7_upgrade", "Liferay 7.0 Upgrade", ProjectUI.getDefault().getBundle().getEntry("cheatsheets/liferay_7_upgrade/liferay_7_upgrade.xml")); } private void restoreState(IMemento memento) { IMemento input = memento.getChild("input"); if (input == null) { loadUpgradeSheet(); } } @Override public void saveState(IMemento memento) { // TODO saveSate method } @Override public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site); _memento = memento; } @Override public void setFocus() { if (_viewer != null) { _viewer.setFocus(); } } }