/******************************************************************************* * Copyright (c) 2012-2015 INRIA. * 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: * Generoso Pagano - initial API and implementation ******************************************************************************/ package fr.inria.soctrace.framesoc.ui.init; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import fr.inria.soctrace.lib.utils.DBMS; /** * Initialization wizard DBMS selection page. * * @author "Generoso Pagano <generoso.pagano@inria.fr>" */ public class DbmsPage extends InitPage { private Combo combo; private Composite container; /** * @param pageName */ public DbmsPage(String pageName, InitProperties properties) { super(pageName, properties); setTitle("DBMS Selection"); setDescription("Choose the DBMS to be used in Framesoc (SQLite recommended)"); } @Override public void createControl(Composite parent) { container = new Composite(parent, SWT.NULL); setControl(container); GridLayout layout = new GridLayout(); container.setLayout(layout); layout.numColumns = 2; Label label = new Label(container, SWT.NULL); label.setText("Choose the DBMS"); combo = new Combo(container, SWT.READ_ONLY); combo.add(DBMS.SQLITE.toString()); combo.add(DBMS.MYSQL.toString()); combo.setText(properties.getDbms()); combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); combo.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { properties.setDbms(combo.getText()); setPageComplete(true); // to force update buttons } }); setPageComplete(true); } }