|
Lines 38-43
Link Here
|
| 38 |
import org.eclipse.swt.events.SelectionEvent; |
38 |
import org.eclipse.swt.events.SelectionEvent; |
| 39 |
import org.eclipse.swt.events.TraverseEvent; |
39 |
import org.eclipse.swt.events.TraverseEvent; |
| 40 |
import org.eclipse.swt.events.TraverseListener; |
40 |
import org.eclipse.swt.events.TraverseListener; |
|
|
41 |
import org.eclipse.swt.graphics.Image; |
| 41 |
import org.eclipse.swt.layout.GridData; |
42 |
import org.eclipse.swt.layout.GridData; |
| 42 |
import org.eclipse.swt.layout.GridLayout; |
43 |
import org.eclipse.swt.layout.GridLayout; |
| 43 |
import org.eclipse.swt.widgets.Button; |
44 |
import org.eclipse.swt.widgets.Button; |
|
Lines 46-51
Link Here
|
| 46 |
import org.eclipse.swt.widgets.FileDialog; |
47 |
import org.eclipse.swt.widgets.FileDialog; |
| 47 |
import org.eclipse.swt.widgets.Label; |
48 |
import org.eclipse.swt.widgets.Label; |
| 48 |
import org.eclipse.swt.widgets.Text; |
49 |
import org.eclipse.swt.widgets.Text; |
|
|
50 |
import org.eclipse.swt.widgets.Tree; |
| 51 |
import org.eclipse.swt.widgets.TreeColumn; |
| 49 |
|
52 |
|
| 50 |
import org.eclipse.core.runtime.CoreException; |
53 |
import org.eclipse.core.runtime.CoreException; |
| 51 |
import org.eclipse.core.runtime.IPath; |
54 |
import org.eclipse.core.runtime.IPath; |
|
Lines 72-79
Link Here
|
| 72 |
import org.eclipse.jface.viewers.CheckStateChangedEvent; |
75 |
import org.eclipse.jface.viewers.CheckStateChangedEvent; |
| 73 |
import org.eclipse.jface.viewers.CheckboxTreeViewer; |
76 |
import org.eclipse.jface.viewers.CheckboxTreeViewer; |
| 74 |
import org.eclipse.jface.viewers.ICheckStateListener; |
77 |
import org.eclipse.jface.viewers.ICheckStateListener; |
|
|
78 |
import org.eclipse.jface.viewers.ILabelProviderListener; |
| 79 |
import org.eclipse.jface.viewers.ITableLabelProvider; |
| 75 |
import org.eclipse.jface.viewers.ITreeContentProvider; |
80 |
import org.eclipse.jface.viewers.ITreeContentProvider; |
| 76 |
import org.eclipse.jface.viewers.LabelProvider; |
|
|
| 77 |
import org.eclipse.jface.viewers.Viewer; |
81 |
import org.eclipse.jface.viewers.Viewer; |
| 78 |
import org.eclipse.jface.viewers.ViewerComparator; |
82 |
import org.eclipse.jface.viewers.ViewerComparator; |
| 79 |
import org.eclipse.jface.wizard.WizardPage; |
83 |
import org.eclipse.jface.wizard.WizardPage; |
|
Lines 119-124
Link Here
|
| 119 |
String projectName; |
123 |
String projectName; |
| 120 |
|
124 |
|
| 121 |
Object parent; |
125 |
Object parent; |
|
|
126 |
String parentName; |
| 122 |
|
127 |
|
| 123 |
int level; |
128 |
int level; |
| 124 |
|
129 |
|
|
Lines 156-161
Link Here
|
| 156 |
private void setProjectName() { |
162 |
private void setProjectName() { |
| 157 |
try { |
163 |
try { |
| 158 |
if (projectArchiveFile != null) { |
164 |
if (projectArchiveFile != null) { |
|
|
165 |
String label = structureProvider.getFullPath(projectArchiveFile); |
| 166 |
int sepIndex = label.lastIndexOf('/'); |
| 167 |
if (sepIndex == -1) { |
| 168 |
// there is no parent, so we will just use the empty string |
| 169 |
parentName = ""; //$NON-NLS-1$ |
| 170 |
} else { |
| 171 |
parentName = label.substring(0, sepIndex); |
| 172 |
} |
| 159 |
InputStream stream = structureProvider |
173 |
InputStream stream = structureProvider |
| 160 |
.getContents(projectArchiveFile); |
174 |
.getContents(projectArchiveFile); |
| 161 |
if (stream != null) { |
175 |
if (stream != null) { |
|
Lines 173-178
Link Here
|
| 173 |
projectName= path.segment(path.segmentCount() - 2); |
187 |
projectName= path.segment(path.segmentCount() - 2); |
| 174 |
} |
188 |
} |
| 175 |
} else { |
189 |
} else { |
|
|
190 |
parentName = projectSystemFile.getParent(); |
| 176 |
IPath path = new Path(projectSystemFile.getPath()); |
191 |
IPath path = new Path(projectSystemFile.getPath()); |
| 177 |
// if the file is in the default location, use the directory |
192 |
// if the file is in the default location, use the directory |
| 178 |
// name as the project name |
193 |
// name as the project name |
|
Lines 240-245
Link Here
|
| 240 |
projectName, |
255 |
projectName, |
| 241 |
nameFromDescription); |
256 |
nameFromDescription); |
| 242 |
} |
257 |
} |
|
|
258 |
|
| 259 |
/** |
| 260 |
* Gets the name of the project's containing parent. |
| 261 |
* @return the project's container |
| 262 |
* @since 3.4 |
| 263 |
*/ |
| 264 |
public String getParentName() { |
| 265 |
return parentName; |
| 266 |
} |
| 243 |
} |
267 |
} |
| 244 |
|
268 |
|
| 245 |
|
269 |
|
|
Lines 375-380
Link Here
|
| 375 |
GridData listData = new GridData(GridData.GRAB_HORIZONTAL |
399 |
GridData listData = new GridData(GridData.GRAB_HORIZONTAL |
| 376 |
| GridData.GRAB_VERTICAL | GridData.FILL_BOTH); |
400 |
| GridData.GRAB_VERTICAL | GridData.FILL_BOTH); |
| 377 |
projectsList.getControl().setLayoutData(listData); |
401 |
projectsList.getControl().setLayoutData(listData); |
|
|
402 |
Tree projectsTree = projectsList.getTree(); |
| 403 |
projectsTree.setHeaderVisible(true); |
| 404 |
// create a column for the project and its parent container |
| 405 |
TreeColumn projectColumn = new TreeColumn(projectsTree, SWT.LEAD); |
| 406 |
projectColumn.setWidth(150); |
| 407 |
projectColumn.setText(DataTransferMessages.WizardProjectsImportPage_ProjectNameColumnHeader); |
| 408 |
TreeColumn parentColumn = new TreeColumn(projectsTree, SWT.LEAD); |
| 409 |
parentColumn.setWidth(200); |
| 410 |
parentColumn.setText(DataTransferMessages.WizardProjectsImportPage_ProjectParentColumnHeader); |
| 378 |
|
411 |
|
| 379 |
projectsList.setContentProvider(new ITreeContentProvider() { |
412 |
projectsList.setContentProvider(new ITreeContentProvider() { |
| 380 |
|
413 |
|
|
Lines 435-448
Link Here
|
| 435 |
|
468 |
|
| 436 |
}); |
469 |
}); |
| 437 |
|
470 |
|
| 438 |
projectsList.setLabelProvider(new LabelProvider() { |
471 |
projectsList.setLabelProvider(new ITableLabelProvider() { |
| 439 |
/* |
472 |
public Image getColumnImage(Object element, int columnIndex) { |
| 440 |
* (non-Javadoc) |
473 |
return null; |
| 441 |
* |
474 |
} |
| 442 |
* @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) |
475 |
public String getColumnText(Object element, int columnIndex) { |
| 443 |
*/ |
476 |
if (columnIndex == 0) { |
| 444 |
public String getText(Object element) { |
477 |
return ((ProjectRecord) element).getProjectName(); |
| 445 |
return ((ProjectRecord) element).getProjectLabel(); |
478 |
} |
|
|
479 |
return ((ProjectRecord) element).getParentName(); |
| 480 |
} |
| 481 |
public void addListener(ILabelProviderListener listener) { |
| 482 |
} |
| 483 |
public void dispose() { |
| 484 |
} |
| 485 |
public boolean isLabelProperty(Object element, String property) { |
| 486 |
return false; |
| 487 |
} |
| 488 |
public void removeListener(ILabelProviderListener listener) { |
| 446 |
} |
489 |
} |
| 447 |
}); |
490 |
}); |
| 448 |
|
491 |
|