package fr.opensagres.mongodb.ide.ui.editors.server; import org.eclipse.swt.SWT; 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.Text; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.Section; import org.eclipse.ui.forms.widgets.TableWrapData; import fr.opensagres.mongodb.ide.core.model.Server; import fr.opensagres.mongodb.ide.core.utils.StringUtils; import fr.opensagres.mongodb.ide.ui.FormLayoutFactory; import fr.opensagres.mongodb.ide.ui.ServerUI; import fr.opensagres.mongodb.ide.ui.editors.AbstractToolbarFormPage; import fr.opensagres.mongodb.ide.ui.internal.Messages; import fr.opensagres.mongodb.ide.ui.singlesourcing.SingleSourcingUtils; public class OverviewPage extends AbstractToolbarFormPage { public static final String ID = "overview"; private Text mongoURIText; private Text serverNameText; private Combo hostCombo; private Combo portCombo; private Text databaseText; public OverviewPage(ServerEditor editor) { super(editor, ID, Messages.OverviewPage_title); } @Override protected void fillBody(IManagedForm managedForm, FormToolkit toolkit) { Composite body = managedForm.getForm().getBody(); body.setLayout(FormLayoutFactory.createFormTableWrapLayout(true, 2)); Composite left = toolkit.createComposite(body); left.setLayout(FormLayoutFactory .createFormPaneTableWrapLayout(false, 1)); left.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB)); // General info section createGeneralInfoSection(left, toolkit); // right column Composite right = toolkit.createComposite(body); right.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1)); right.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB)); createTimeoutSection(right, toolkit); // insertSections(rightColumnComp, // "org.eclipse.wst.server.editor.overview.right"); // initialize(); } protected void createGeneralInfoSection(Composite left, FormToolkit toolkit) { Section section = toolkit.createSection(left, Section.DESCRIPTION | Section.TITLE_BAR); section.setDescription(Messages.serverEditorOverviewGeneralDescription); section.setText(Messages.serverEditorOverviewGeneralSection); TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB); section.setLayoutData(data); Composite sbody = toolkit.createComposite(section); section.setClient(sbody); GridLayout glayout = new GridLayout(); // glayout.horizontalSpacing = 10; glayout.numColumns = 2; sbody.setLayout(glayout); // Server name toolkit.createLabel(sbody, Messages.serverNameLabel); serverNameText = toolkit.createText(sbody, "", SWT.SINGLE); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.widthHint = 150; serverNameText.setLayoutData(gridData); // Mongo URI toolkit.createLabel(sbody, Messages.mongoURILabel); mongoURIText = toolkit.createText(sbody, "", SWT.SINGLE); gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.widthHint = 150; mongoURIText.setLayoutData(gridData); // Host toolkit.createLabel(sbody, Messages.hostLabel); hostCombo = new Combo(sbody, SWT.BORDER); hostCombo.setItems(ServerUI.getLocalhosts()); gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.widthHint = 150; hostCombo.setLayoutData(gridData); // Port toolkit.createLabel(sbody, Messages.portLabel); portCombo = new Combo(sbody, SWT.BORDER); portCombo.setItems(ServerUI.getDefaultPorts()); gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.widthHint = 150; portCombo.setLayoutData(gridData); // Database toolkit.createLabel(sbody, Messages.databaseLabel); databaseText = toolkit.createText(sbody, "", SWT.SINGLE); gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.widthHint = 150; databaseText.setLayoutData(gridData); SingleSourcingUtils.FormToolkit_paintBordersFor(toolkit, sbody); initialize(); } private void initialize() { Server server = ((ServerEditor) getEditor()).getModelObject(); mongoURIText.setText(server.getMongoURI().toString()); serverNameText.setText(server.getName()); hostCombo.setText(server.getHost()); Integer port = server.getPort(); if (port != null) { portCombo.setText(String.valueOf(port)); } String database = server.getDatabaseName(); if (StringUtils.isNotEmpty(database)) { databaseText.setText(database); } } protected void createTimeoutSection(Composite rightColumnComp, FormToolkit toolkit) { } }