package org.eclipse.swt.widgets;
import javafx.scene.control.Tab;
import javafx.scene.control.Tooltip;
import javafx.scene.image.ImageView;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
public class TabItem extends Item {
private Tab tab;
private Control control;
public TabItem(TabFolder parent, int style) {
super(parent.getDisplay(), style);
parent.internal_addTabItem(this);
}
@Override
protected void doSetImage(Image image) {
if( image != null ) {
tab.setGraphic(new ImageView(image.internal_getImage()));
} else {
tab.setGraphic(null);
}
}
@Override
public String getText() {
checkWidget();
return notNullString(tab.getText());
}
@Override
public void setText(String string) {
checkWidget();
if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
tab.setText(string);
}
@Override
protected void createWidget() {
this.tab = new Tab();
}
@Override
public Tab internal_getNativeObject() {
return tab;
}
public void setControl(Control control) {
this.control = control;
tab.setContent(control.internal_getNativeObject());
}
public Control getControl() {
return control;
}
public String getToolTipText () {
String rv = null;
Tooltip t = tab.getTooltip();
if( t != null ) {
rv = t.getText();
}
return rv;
}
public void setToolTipText (String string) {
if( string == null || string.isEmpty() ) {
tab.setTooltip(null);
} else {
Tooltip t = tab.getTooltip();
if( t == null ) {
tab.setTooltip(new Tooltip(string));
} else {
t.setText(string);
}
}
}
}