// ============================================================================
//
// Copyright (C) 2006-2016 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package com.amalto.workbench.dialogs;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import com.amalto.workbench.widgets.composites.TextboxListStringContentComposite;
public class SimpleListStringContentDialog extends Dialog {
private TextboxListStringContentComposite compInfos;
private String[] infos = new String[0];
private String label = "";//$NON-NLS-1$
private String title = "";//$NON-NLS-1$
public SimpleListStringContentDialog(Shell parentShell, String title, String label, String[] initInfos) {
super(parentShell);
if (initInfos != null)
this.infos = initInfos;
if (label != null)
this.label = label;
if (title != null)
this.title = title;
}
@Override
protected Control createDialogArea(Composite parent) {
parent.getShell().setText(title);
Composite container = (Composite) super.createDialogArea(parent);
final GridLayout gridLayout = new GridLayout();
gridLayout.marginWidth = 0;
gridLayout.marginHeight = 0;
container.setLayout(gridLayout);
compInfos = new TextboxListStringContentComposite(container, SWT.NONE, label,null);
compInfos.setInfos(infos);
compInfos.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
return container;
}
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
}
@Override
protected Point getInitialSize() {
return new Point(360, 300);
}
protected int getShellStyle() {
return super.getShellStyle() | SWT.MIN | SWT.MAX | SWT.RESIZE;
}
@Override
protected void okPressed() {
infos = compInfos.getInfos();
super.okPressed();
}
public String[] getInfos() {
return infos;
}
}