blob: b2e9b694ee04bc3bcb8c4fc2126e2b4645e65e8a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 Google, Inc.
* 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:
* Google, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.wb.internal.core.model.property.table;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.wb.internal.core.model.property.Property;
/**
* Implementation of {@link PropertyTooltipProvider} for text.
*
* @author scheglov_ke
* @coverage core.model.property.table
*/
public abstract class PropertyTooltipTextProvider extends PropertyTooltipProvider {
////////////////////////////////////////////////////////////////////////////
//
// PropertyTooltipProvider
//
////////////////////////////////////////////////////////////////////////////
@Override
public Control createTooltipControl(Property property,
Composite parent,
int availableWidth,
IPropertyTooltipSite site) {
// prepare header and content
String header = null;
String content = null;
try {
// BEGIN ADT MODIFICATIONS
// was: header = property.getTitle();
header = property.getName();
// END ADT MODIFICATIONS
content = getText(property);
} catch (Throwable e) {
}
if (header == null || content == null) {
return null;
}
// create tooltip Control
return HtmlTooltipHelper.createTooltipControl(parent, header, content, 8);
}
@Override
public void show(Shell shell) {
// do nothing, Shell will be displayed when Browser will complete rendering
}
////////////////////////////////////////////////////////////////////////////
//
// Text
//
////////////////////////////////////////////////////////////////////////////
/**
* @return the text to show as tooltip.
*/
protected abstract String getText(Property property) throws Exception;
}