3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.printpublisher
.wizard
;
15 import org
.apache
.log4j
.Logger
;
16 import org
.eclipse
.swt
.SWT
;
17 import org
.eclipse
.swt
.events
.SelectionAdapter
;
18 import org
.eclipse
.swt
.events
.SelectionEvent
;
19 import org
.eclipse
.swt
.layout
.GridData
;
20 import org
.eclipse
.swt
.layout
.GridLayout
;
21 import org
.eclipse
.swt
.widgets
.Button
;
22 import org
.eclipse
.swt
.widgets
.Composite
;
23 import org
.eclipse
.swt
.widgets
.DirectoryDialog
;
24 import org
.eclipse
.swt
.widgets
.Label
;
25 import org
.eclipse
.swt
.widgets
.Text
;
29 * @created Apr 7, 2010
32 public class SelectFolderWizardPage
extends AbstractPublishWizardPage
{
33 private static final Logger logger
= Logger
34 .getLogger(SelectFolderWizardPage
.class);
35 private Composite composite
;
36 private DirectoryDialog folderDialog
;
37 private Text text_folder
;
42 public SelectFolderWizardPage(String pageName
) {
44 setTitle("Select a folder");
48 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
50 public void createControl(Composite parent
) {
51 // configurator = ((IPublishConfigurer) getWizard()).getConfigurator();
53 composite
= new Composite(parent
, SWT
.NULL
);
54 composite
.setLayout(new GridLayout());
56 Label folderLabel
= new Label(composite
, SWT
.NONE
);
57 folderLabel
.setText("Folder");
59 folderDialog
= new DirectoryDialog(parent
.getShell());
61 text_folder
= new Text(composite
, SWT
.BORDER
);
62 text_folder
.setEditable(false);
63 text_folder
.setLayoutData(new GridData(SWT
.FILL
, SWT
.CENTER
, true, false));
65 Button button
= new Button(composite
, SWT
.PUSH
);
66 button
.setText("Browse...");
68 button
.addSelectionListener(new SelectionAdapter(){
70 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
73 public void widgetSelected(SelectionEvent e
) {
74 super.widgetSelected(e
);
75 String path
= folderDialog
.open();
76 if(path
!= null){ // a folder was selected
77 text_folder
.setText(path
);
78 getConfigurator().setExportFolder(new File(path
));
80 setPageComplete(true);
85 setControl(composite
);
89 public boolean canFlipToNextPage() {
91 OverviewWizardPage overviewPage
= (OverviewWizardPage
) getNextPage();
92 overviewPage
.refresh();
99 public boolean isPageComplete() {
100 return getConfigurator().getExportFolder() != null;