Java tutorial
/****************************************************************************** * Copyright (c) 2007 g-Eclipse consortium * 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 * * Initial development of the original code was made for * project g-Eclipse founded by European Union * project number: FP6-IST-034327 http://www.geclipse.eu/ * * Contributor(s): * UCY (http://www.cs.ucy.ac.cy) * - Harald Gjermundrod (harald@cs.ucy.ac.cy) * *****************************************************************************/ package eu.geclipse.batch.ui.dialogs; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IconAndMessageDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; 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.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import eu.geclipse.batch.IBatchJobInfo; import eu.geclipse.batch.ui.internal.Messages; /** * A dialog that presents information about a batch job. */ public class BatchJobInfoDialog extends IconAndMessageDialog { /** * The job for which to display information. */ private IBatchJobInfo job; /** * Construct a new info dialog from the specified job. * * @param job The <code>IBatchJobInfo</code> for which to display the information. * @param parentShell The parent shell of this dialog. */ public BatchJobInfoDialog(final IBatchJobInfo job, final Shell parentShell) { super(parentShell); setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE | SWT.MIN | SWT.MAX); this.job = job; } /** * Get the job of this info dialog. * * @return The <code>IBatchJobInfo</code> for which to display the info. */ protected IBatchJobInfo getJob() { return this.job; } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) */ @Override protected Control createDialogArea(final Composite parent) { createMessageArea(parent); GridData gData; Composite mainComp = new Composite(parent, SWT.NONE); mainComp.setLayout(new GridLayout(2, false)); gData = new GridData(GridData.FILL_BOTH); gData.grabExcessHorizontalSpace = true; gData.grabExcessVerticalSpace = true; gData.widthHint = 450; gData.heightHint = 250; mainComp.setLayoutData(gData); // Id field Label idLabel = new Label(mainComp, SWT.LEFT); idLabel.setText(Messages.getString("BatchJobInfoDialog.job_id_label")); //$NON-NLS-1$ gData = new GridData(); gData.horizontalAlignment = GridData.BEGINNING; idLabel.setLayoutData(gData); Text idText = new Text(mainComp, SWT.LEFT | SWT.BORDER); idText.setText(this.job.getJobId()); gData = new GridData(GridData.FILL_HORIZONTAL); gData.grabExcessHorizontalSpace = true; idText.setLayoutData(gData); idText.setEditable(false); // Name field Label nameLabel = new Label(mainComp, SWT.LEFT); nameLabel.setText(Messages.getString("BatchJobInfoDialog.job_name_label")); //$NON-NLS-1$ gData = new GridData(); gData.horizontalAlignment = GridData.BEGINNING; nameLabel.setLayoutData(gData); Text nameText = new Text(mainComp, SWT.LEFT | SWT.BORDER); nameText.setText(this.job.getJobName()); gData = new GridData(GridData.FILL_HORIZONTAL); gData.grabExcessHorizontalSpace = true; nameText.setLayoutData(gData); nameText.setEditable(false); // QueueName field Label queueNameLabel = new Label(mainComp, SWT.LEFT); queueNameLabel.setText(Messages.getString("BatchJobInfoDialog.job_queue_name_label")); //$NON-NLS-1$ gData = new GridData(); gData.horizontalAlignment = GridData.BEGINNING; queueNameLabel.setLayoutData(gData); Text queueNameText = new Text(mainComp, SWT.LEFT | SWT.BORDER); queueNameText.setText(this.job.getQueueName()); gData = new GridData(GridData.FILL_HORIZONTAL); gData.grabExcessHorizontalSpace = true; queueNameText.setLayoutData(gData); queueNameText.setEditable(false); // UserAccount field Label userAccountLabel = new Label(mainComp, SWT.LEFT); userAccountLabel.setText(Messages.getString("BatchJobInfoDialog.job_user_account_label")); //$NON-NLS-1$ gData = new GridData(); gData.horizontalAlignment = GridData.BEGINNING; userAccountLabel.setLayoutData(gData); Text userAccountText = new Text(mainComp, SWT.LEFT | SWT.BORDER); userAccountText.setText(this.job.getUserAccount()); gData = new GridData(GridData.FILL_HORIZONTAL); gData.grabExcessHorizontalSpace = true; userAccountText.setLayoutData(gData); userAccountText.setEditable(false); // Status field Label statusLabel = new Label(mainComp, SWT.LEFT); statusLabel.setText(Messages.getString("BatchJobInfoDialog.job_status_label")); //$NON-NLS-1$ gData = new GridData(); gData.horizontalAlignment = GridData.BEGINNING; statusLabel.setLayoutData(gData); Text statusText = new Text(mainComp, SWT.LEFT | SWT.BORDER); statusText.setText(this.job.getStatus().toString()); gData = new GridData(GridData.FILL_HORIZONTAL); gData.grabExcessHorizontalSpace = true; statusText.setLayoutData(gData); statusText.setEditable(false); // TimeUsed field Label timeUsedLabel = new Label(mainComp, SWT.LEFT); timeUsedLabel.setText(Messages.getString("BatchJobInfoDialog.job_time_used_label")); //$NON-NLS-1$ gData = new GridData(); gData.horizontalAlignment = GridData.BEGINNING; timeUsedLabel.setLayoutData(gData); Text timeUsedText = new Text(mainComp, SWT.LEFT | SWT.BORDER); timeUsedText.setText(this.job.getTimeUse()); gData = new GridData(GridData.FILL_HORIZONTAL); gData.grabExcessHorizontalSpace = true; timeUsedText.setLayoutData(gData); timeUsedText.setEditable(false); return mainComp; } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage() */ @Override protected Image getImage() { return getInfoImage(); } /** * Create the token specific info area. * * @param parent The parent composite that will contain the created info area. * @return The created info area. */ protected Control createInfoArea(final Composite parent) { GridData gData; Composite mainComp = new Composite(parent, SWT.BORDER); mainComp.setLayout(new GridLayout(2, false)); Label label = new Label(mainComp, SWT.NONE); label.setText(Messages.getString("BatchJobInfoDialog.no_info_label")); //$NON-NLS-1$ gData = new GridData(); label.setLayoutData(gData); return mainComp; } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings() */ // @Override // protected IDialogSettings getDialogBoundsSettings() { // return eu.geclipse.batch.internal.Activator.getDefault().getDialogSettings(); // } /* (non-Javadoc) * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) */ @Override protected void configureShell(final Shell shell) { String batchType; String type; super.configureShell(shell); type = this.job.getServiceTypeName(); if (null != type) batchType = this.job.getServiceTypeName(); else batchType = Messages.getString("BatchJobInfoDialog.unknown"); //$NON-NLS-1$ shell.setText(batchType + " " //$NON-NLS-1$ + Messages.getString("BatchJobInfoDialog.info_suffix")); //$NON-NLS-1$ } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar() */ @Override protected void createButtonsForButtonBar(final Composite parent) { createButton(parent, IDialogConstants.CANCEL_ID, Messages.getString("BatchJobInfoDialog.close"), //$NON-NLS-1$ false); } }