Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java')
-rw-r--r--update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java207
1 files changed, 207 insertions, 0 deletions
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java
new file mode 100644
index 000000000..80229d76b
--- /dev/null
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java
@@ -0,0 +1,207 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.update.internal.ui.wizards;
+
+import java.text.DateFormat;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+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.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.update.core.SiteManager;
+import org.eclipse.update.internal.core.InstallConfiguration;
+import org.eclipse.update.internal.ui.UpdateUI;
+import org.eclipse.update.internal.ui.UpdateUIMessages;
+
+
+
+public class ShowActivitiesDialog extends Dialog {
+ private TableViewer activitiesViewer;
+
+ // location configuration
+ private IDialogSettings dialogSettings;
+ private Point dialogLocation;
+ private Point dialogSize;
+
+ /**
+ * @param parentShell
+ */
+ public ShowActivitiesDialog(Shell parentShell) {
+ super(parentShell);
+ setShellStyle(SWT.RESIZE | SWT.MIN | SWT.MAX | SWT.APPLICATION_MODAL);
+ readConfiguration();
+ }
+
+ public void create() {
+ super.create();
+ // dialog location
+ if (dialogLocation != null)
+ getShell().setLocation(dialogLocation);
+
+ // dialog size
+ if (dialogSize != null)
+ getShell().setSize(dialogSize);
+ else
+ getShell().setSize(500,500);
+
+
+ applyDialogFont(buttonBar);
+ getButton(IDialogConstants.OK_ID).setFocus();
+ }
+
+ protected Control createDialogArea(Composite parent) {
+ Composite container = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.makeColumnsEqualWidth = false;
+ container.setLayout(layout);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.grabExcessHorizontalSpace = true;
+ gd.grabExcessVerticalSpace = true;
+ container.setLayoutData(gd);
+ createDescriptionSection(container);
+ createActivitiesViewer(container);
+ Dialog.applyDialogFont(container);
+ return container;
+ }
+
+ protected Control createDescriptionSection(Composite parent){
+ Composite container = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ layout.makeColumnsEqualWidth = false;
+ container.setLayout(layout);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ container.setLayoutData(gd);
+ try {
+ Label targetLabel = new Label(container, SWT.NONE);
+ targetLabel.setText(UpdateUIMessages.ShowActivitiesDialog_date);
+ Label target = new Label(container, SWT.NONE);
+ DateFormat df = DateFormat.getDateTimeInstance();
+ String localizedDate = df.format(SiteManager.getLocalSite().getCurrentConfiguration().getCreationDate());
+ target.setText(localizedDate);
+
+ Label urlLabel = new Label(container, SWT.NONE);
+ urlLabel.setText(UpdateUIMessages.ShowActivitiesDialog_loc);
+ Label url = new Label(container, SWT.NONE);
+ url.setText(((InstallConfiguration)SiteManager.getLocalSite().getCurrentConfiguration()).getURL().getFile());
+
+
+ } catch (CoreException e) {
+ UpdateUI.logException(e);
+ }
+ return container;
+ }
+ protected Control createActivitiesViewer(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ GridLayout gridLayout = new GridLayout();
+ gridLayout.marginHeight = gridLayout.marginWidth = 4;
+ composite.setLayout(gridLayout);
+
+ GridData gd = new GridData(GridData.FILL_BOTH);
+// gd.grabExcessHorizontalSpace = true;
+// gd.grabExcessVerticalSpace = true;
+
+ composite.setLayoutData(gd);
+
+
+ Label label = new Label(composite, SWT.NONE);
+ label.setText(UpdateUIMessages.ShowActivitiesDialog_label);
+ activitiesViewer = ActivitiesTableViewer.createViewer(composite, true);
+
+ TableLayout layout = new TableLayout();
+ layout.addColumnData(new ColumnWeightData(8, 20, false));
+ layout.addColumnData(new ColumnWeightData(50, 160, true));
+ layout.addColumnData(new ColumnWeightData(50, 183, true));
+ layout.addColumnData(new ColumnWeightData(50, 100, true));
+
+ activitiesViewer.getTable().setLayout(layout);
+ try {
+ activitiesViewer.setInput(SiteManager.getLocalSite().getCurrentConfiguration());
+ } catch (CoreException e) {
+ }
+ Dialog.applyDialogFont(composite);
+ return composite;
+ }
+
+ protected void createButtonsForButtonBar(Composite parent) {
+ // create OK button only by default
+ createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
+ }
+
+ public boolean close() {
+ storeSettings();
+ return super.close();
+ }
+
+ /**
+ * Stores the current state in the dialog settings.
+ * @since 2.0
+ */
+ private void storeSettings() {
+ writeConfiguration();
+ }
+ /**
+ * Returns the dialog settings object used to share state
+ * between several event detail dialogs.
+ *
+ * @return the dialog settings to be used
+ */
+ private IDialogSettings getDialogSettings() {
+ IDialogSettings settings = UpdateUI.getDefault().getDialogSettings();
+ dialogSettings = settings.getSection(getClass().getName());
+ if (dialogSettings == null)
+ dialogSettings= settings.addNewSection(getClass().getName());
+ return dialogSettings;
+ }
+
+ /**
+ * Initializes itself from the dialog settings with the same state
+ * as at the previous invocation.
+ */
+ private void readConfiguration() {
+ IDialogSettings s= getDialogSettings();
+ try {
+ int x= s.getInt("x"); //$NON-NLS-1$
+ int y= s.getInt("y"); //$NON-NLS-1$
+ dialogLocation= new Point(x, y);
+
+ x = s.getInt("width"); //$NON-NLS-1$
+ y = s.getInt("height"); //$NON-NLS-1$
+ dialogSize = new Point(x,y);
+ } catch (NumberFormatException e) {
+ dialogLocation= null;
+ dialogSize = null;
+ }
+ }
+
+ private void writeConfiguration(){
+ IDialogSettings s = getDialogSettings();
+ Point location = getShell().getLocation();
+ s.put("x", location.x); //$NON-NLS-1$
+ s.put("y", location.y); //$NON-NLS-1$
+
+ Point size = getShell().getSize();
+ s.put("width", size.x); //$NON-NLS-1$
+ s.put("height", size.y); //$NON-NLS-1$
+ }
+}

Back to the top