org.eclipse.wst.common.project.facet.ui.internal.util.BasicToolTip.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.wst.common.project.facet.ui.internal.util.BasicToolTip.java

Source

/******************************************************************************
 * Copyright (c) 2010 Oracle
 * 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:
 *    Konstantin Komissarchik - initial implementation and ongoing maintenance
 ******************************************************************************/

package org.eclipse.wst.common.project.facet.ui.internal.util;

import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;

import org.eclipse.jface.window.ToolTip;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;

/**
 * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
 */

public abstract class BasicToolTip

        extends ToolTip

{
    private String message = ""; //$NON-NLS-1$

    public BasicToolTip(final Control control) {
        super(control);

        setPopupDelay(1000);
        setShift(new Point(10, 3));
    }

    @Override
    protected Composite createToolTipContentArea(final Event event, final Composite parent) {
        final Display display = parent.getDisplay();

        final Composite composite = new Composite(parent, SWT.NONE);
        composite.setLayout(gl(1));
        composite.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));

        final Label label = new Label(composite, SWT.WRAP);
        label.setLayoutData(gdwhint(gdfill(), 300));
        label.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
        label.setText(this.message);

        return composite;
    }

    public String getMessage() {
        return this.message;
    }

    public void setMessage(final String message) {
        this.message = message;
    }

}