core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/ExportPage.java
changeset 1818 bb528d06abcd
parent 1810 2ccd3660a736
child 1824 7e34f628583a
equal deleted inserted replaced
1817:4eae2726ff31 1818:bb528d06abcd
    26 import org.eclipse.core.runtime.IProgressMonitor;
    26 import org.eclipse.core.runtime.IProgressMonitor;
    27 import org.eclipse.core.runtime.IStatus;
    27 import org.eclipse.core.runtime.IStatus;
    28 import org.eclipse.core.runtime.Path;
    28 import org.eclipse.core.runtime.Path;
    29 import org.eclipse.core.runtime.Status;
    29 import org.eclipse.core.runtime.Status;
    30 import org.eclipse.jface.dialogs.DialogPage;
    30 import org.eclipse.jface.dialogs.DialogPage;
    31 import org.eclipse.jface.layout.GridDataFactory;
       
    32 import org.eclipse.jface.layout.GridLayoutFactory;
       
    33 import org.eclipse.jface.viewers.CheckStateChangedEvent;
    31 import org.eclipse.jface.viewers.CheckStateChangedEvent;
    34 import org.eclipse.jface.viewers.ICheckStateListener;
    32 import org.eclipse.jface.viewers.ICheckStateListener;
    35 import org.eclipse.swt.SWT;
    33 import org.eclipse.swt.SWT;
    36 import org.eclipse.swt.events.SelectionAdapter;
    34 import org.eclipse.swt.events.SelectionAdapter;
    37 import org.eclipse.swt.events.SelectionEvent;
    35 import org.eclipse.swt.events.SelectionEvent;
    38 import org.eclipse.swt.widgets.Button;
       
    39 import org.eclipse.swt.widgets.Composite;
    36 import org.eclipse.swt.widgets.Composite;
    40 import org.eclipse.swt.widgets.FileDialog;
    37 import org.eclipse.swt.widgets.FileDialog;
    41 import org.eclipse.ui.progress.UIJob;
    38 import org.eclipse.ui.progress.UIJob;
    42 
    39 
    43 import com.nokia.cpp.internal.api.utils.ui.BrowseDialogUtils;
    40 import com.nokia.cpp.internal.api.utils.ui.BrowseDialogUtils;
    60 	public void createControl(Composite parent) {
    57 	public void createControl(Composite parent) {
    61 		super.createControl(parent);
    58 		super.createControl(parent);
    62 		Composite composite = (Composite) getControl();
    59 		Composite composite = (Composite) getControl();
    63 		
    60 		
    64         createViewerGroup(composite, "Export features:");
    61         createViewerGroup(composite, "Export features:");
    65 		createBrowseGroup(composite, "Export to file:");
    62 		createBrowseGroup(composite, "Export file:");
    66 		
    63 		
    67         featureInfos = new ArrayList<FeatureInfo>();
    64         featureInfos = new ArrayList<FeatureInfo>();
    68         
    65         
    69         setPageComplete(validatePage());
    66         setPageComplete(validatePage());
    70 	}
    67 	}
   108 
   105 
   109 	private void startGetInputJob() {
   106 	private void startGetInputJob() {
   110 		UIJob j = new UIJob("Getting Installed Features") {
   107 		UIJob j = new UIJob("Getting Installed Features") {
   111 			@Override
   108 			@Override
   112 			public IStatus runInUIThread(IProgressMonitor monitor) {
   109 			public IStatus runInUIThread(IProgressMonitor monitor) {
   113 				viewer.setInput(FeatureUtils.getInstalledFeatures(monitor));
   110 				viewer.setInput(P2Utils.getInstalledFeatures(monitor));
   114 				updateViewer();
   111 				updateViewer();
   115 				return Status.OK_STATUS;
   112 				return Status.OK_STATUS;
   116 			} 
   113 			} 
   117 		};
   114 		};
   118 		j.schedule();
   115 		j.schedule();
   119 	}
   116 	}
   120 	
   117 	
   121 	protected boolean validatePage() {
   118 	protected boolean validatePage() {
   122 		setErrorMessage(null);
   119 		setErrorMessage(null);
       
   120 		if (viewer.getTable().getItemCount() == 0) {
       
   121 			setErrorMessage("There are no features to export");
       
   122 			return false;
       
   123 		}
   123 		if (viewer.getCheckedElements().length == 0) {
   124 		if (viewer.getCheckedElements().length == 0) {
   124 			setErrorMessage("At least one feature must be selected for export");
   125 			setErrorMessage("At least one feature must be selected for export");
   125 			return false;
   126 			return false;
   126 		}
   127 		}
   127 		
   128