/******************************************************************************* * Copyright (c) 2015 ARM Ltd. and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * ARM Ltd and ARM Germany GmbH - Initial API and implementation *******************************************************************************/ package com.arm.cmsis.pack.ui.widgets; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ColumnViewer; import com.arm.cmsis.pack.rte.IRteModelController; import com.arm.cmsis.pack.ui.CpStringsUI; import com.arm.cmsis.pack.ui.tree.ColumnAdvisor; /** * Extends ColumnAdvisor with IRteCobdelController support */ public abstract class RteColumnAdvisor extends ColumnAdvisor implements IRteColumnAdvisor { private IRteModelController fRteModelController = null; public RteColumnAdvisor(ColumnViewer columnViewer) { super(columnViewer); } public RteColumnAdvisor(ColumnViewer columnViewer, IRteModelController modelController) { this(columnViewer); fRteModelController = modelController; } @Override public void setModelController(IRteModelController modelController) { fRteModelController = modelController; } @Override public IRteModelController getModelController() { return fRteModelController; } @Override public void openUrl(String url) { if(fRteModelController != null) { String msg = fRteModelController.openUrl(url); if(msg != null) { String message = CpStringsUI.CannotOpenURL + url; message += "\n"; //$NON-NLS-1$ message += msg; MessageDialog.openError(this.control != null ? this.control.getShell() : null, CpStringsUI.CannotOpenURL, message); } } else { super.openUrl(url); } } }