From: Patrick Plitzner
SelectFeatureTreeWizardPage class.
@@ -43,9 +40,9 @@ import eu.etaxonomy.taxeditor.featuretree.FeatureTreeEditorWizard; * @created Aug 6, 2010 * @version 1.0 */ -public class SelectFeatureTreeWizardPage extends AbstractPublishWizardPage +public class SelectFeatureTreeWizardPage extends AbstractPublishWizardPage implements ISelectionChangedListener, IHasPersistableSettings{ - + private static final String DIALOG_SETTING_FEATURE_TREE_UUID = "dialogSettingFeatureTreeUuid"; private ListViewer viewer; @@ -58,7 +55,7 @@ public class SelectFeatureTreeWizardPage extends AbstractPublishWizardPage super(pageName); setTitle("Select Feature Tree"); } - + /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) */ @@ -66,77 +63,80 @@ public class SelectFeatureTreeWizardPage extends AbstractPublishWizardPage @Override public void createControl(Composite parent) { setPageComplete(false); - + Composite composite = new Composite(parent, SWT.NULL); composite.setLayout(new GridLayout()); - + viewer = new ListViewer(composite); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); viewer.setContentProvider(new FeatureTreeContentProvider()); viewer.setLabelProvider(new FeatureTreeLabelProvider()); - + viewer.addSelectionChangedListener(this); - + // offer feature tree editor when local if(getConfigurator().isLocal()){ final Button button_openFeatureTree = new Button(composite, SWT.PUSH); button_openFeatureTree.setText("Open FeatureTree Editor"); - + button_openFeatureTree.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - FeatureTreeEditorWizard featureTreeEditorDialog = new FeatureTreeEditorWizard(); - WizardDialog dialog = new WizardDialog(getShell(), featureTreeEditorDialog); - - if(dialog.open() == IStatus.OK){ - refresh(); - } + //FIXME: this wizard page has been removed by implementing #6694 + //If print publishing is used again the selection has to be re-implemented + +// FeatureTreeEditorWizard featureTreeEditorDialog = new FeatureTreeEditorWizard(); +// WizardDialog dialog = new WizardDialog(getShell(), featureTreeEditorDialog); +// +// if(dialog.open() == IStatus.OK){ +// refresh(); +// } } }); } - + // when using a local factory we can set the input right here if(getConfigurator() != null && getConfigurator().isLocal()){ refresh(); } - + loadSettings(); - + setControl(composite); } @Override public void loadSettings() { - String featureTreeUuidString = getDialogSettingValue(DIALOG_SETTING_FEATURE_TREE_UUID); - + String featureTreeUuidString = getDialogSettingValue(DIALOG_SETTING_FEATURE_TREE_UUID); + if(featureTreeUuidString != null){ setSelectedFeatureTree(featureTreeUuidString); - + } } - + /** {@inheritDoc} */ @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); - + if(selection.isEmpty()){ return; } - + setPageComplete(true); - - + + Element featureTreeElement = (Element) selection.getFirstElement(); - + UUID featureTreeUuid = XMLHelper.getUuid(featureTreeElement); - + setFeatureTree(featureTreeUuid.toString()); } - + private void setSelectedFeatureTree(String featureTreeUuid){ List- * EditFeatureTreeWizardPage class. - *
- * - * @author n.hoffmann - * @created Aug 5, 2010 - * @version 1.0 - */ -public class EditFeatureTreeWizardPage extends WizardPage implements - ModifyListener, ISelectionChangedListener { - - private TreeViewer viewer; - private Label label_title; - private Text text_title; - private Button button_add; - private Button button_remove; - private Label label_treeInfo; - private FeatureTree featureTree; - - /** - *- * Constructor for EditFeatureTreeWizardPage. - *
- * - * @param pageName - * a {@link java.lang.String} object. - */ - protected EditFeatureTreeWizardPage(String pageName) { - super(pageName); - setMessage("Edit the Feature Tree."); - } - - /* - * (non-Javadoc) - * - * @see - * org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets - * .Composite) - */ - /** {@inheritDoc} */ - @Override - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NULL); - composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - composite.setLayout(new GridLayout()); - - Composite composite_treeTitle = new Composite(composite, SWT.NULL); - composite_treeTitle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, - false)); - composite_treeTitle.setLayout(new GridLayout(2, false)); - - label_title = new Label(composite_treeTitle, SWT.NULL); - label_title.setText("Title"); - - text_title = new Text(composite_treeTitle, SWT.NULL); - text_title.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); - - Composite composite_treeContent = new Composite(composite, SWT.NULL); - composite_treeContent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, - true, true)); - composite_treeContent.setLayout(new GridLayout(2, false)); - - viewer = new TreeViewer(composite_treeContent); - viewer.getControl().setLayoutData( - new GridData(SWT.FILL, SWT.FILL, true, true)); - - Composite composite_buttons = new Composite(composite_treeContent, - SWT.NULL); - composite_buttons.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, - false)); - composite_buttons.setLayout(new GridLayout()); - - button_add = new Button(composite_buttons, SWT.PUSH); - button_add.setText("Add"); - button_add.setToolTipText("Add a feature to this feature treee."); - button_remove = new Button(composite_buttons, SWT.PUSH); - button_remove.setText("Remove"); - button_remove - .setToolTipText("Remove a feature from this feature tree."); - - label_treeInfo = new Label(composite, SWT.NULL); - label_treeInfo - .setText("Order and nesting of feature nodes may be changed through drag and drop."); - - viewer.setContentProvider(new FeatureTreeContentProvider()); - viewer.setLabelProvider(new FeatureTreeLabelProvider()); - - int ops = DND.DROP_COPY | DND.DROP_MOVE; - Transfer[] transfers = new Transfer[] { FeatureNodeTransfer - .getInstance() }; - viewer.addDragSupport(ops, transfers, new FeatureNodeDragListener( - viewer)); - viewer.addDropSupport(ops, transfers, - new FeatureNodeDropAdapter(viewer)); - - viewer.addSelectionChangedListener(this); - - button_add.addSelectionListener(new AddButtonListener()); - button_remove.addSelectionListener(new RemoveSelectionListener()); - - setControl(composite); - } - - /** - *- * setSelectedTree - *
- * - * @param featureTree - * a {@link eu.etaxonomy.cdm.model.description.FeatureTree} - * object. - */ - public void setSelectedTree(FeatureTree featureTree) { - this.featureTree = HibernateProxyHelper.deproxy(featureTree, FeatureTree.class); - this.featureTree.setRoot(HibernateProxyHelper.deproxy(featureTree.getRoot(), FeatureNode.class)); - viewer.setInput(featureTree); - - text_title.removeModifyListener(this); - if (featureTree != null){ - text_title.setText(featureTree.getTitleCache()); - } - text_title.addModifyListener(this); - } - - /** {@inheritDoc} */ - @Override - public void modifyText(ModifyEvent e) { - featureTree.setTitleCache(text_title.getText(), true); - } - - /** {@inheritDoc} */ - @Override - public void selectionChanged(SelectionChangedEvent event) { - IStructuredSelection selection = (IStructuredSelection) event - .getSelection(); - - button_add.setEnabled(selection.size() <= 1); - button_remove.setEnabled(selection.size() > 0); - } - - private class AddButtonListener extends SelectionAdapter { - @Override - public void widgetSelected(SelectionEvent e) { - AvailableFeaturesWizard wizard = new AvailableFeaturesWizard( - featureTree); - WizardDialog dialog = new WizardDialog(getShell(), wizard); - - if (dialog.open() == IStatus.OK) { - IStructuredSelection selection = (IStructuredSelection) viewer - .getSelection(); - FeatureNode parent = (FeatureNode) (selection.getFirstElement() != null ? selection - .getFirstElement() : ((FeatureTree) viewer.getInput()) - .getRoot()); - CollectionFeatureTreeEditorWizard class.
- * - * @author n.hoffmann - * @created Aug 5, 2010 - * @version 1.0 - */ -public class FeatureTreeEditorWizard extends Wizard implements ICdmEntitySessionEnabled { - - private SelectFeatureTreeWizardPage selectFeatureTreePage; - private EditFeatureTreeWizardPage editFeatureTreePage; - - private FeatureTree selectedFeatureTree; - - private ConversationHolder conversation; - private ICdmEntitySession cdmEntitySession; - private ICdmEntitySession previousCdmEntitySession; - - /** - *Constructor for FeatureTreeEditorWizard.
- */ - public FeatureTreeEditorWizard(){ - conversation = CdmStore.createConversation(); - previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession(); - cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true); - setWindowTitle("Feature Tree Editor"); - } - - /** - *addPages
- */ - @Override - public void addPages() { - selectFeatureTreePage = new SelectFeatureTreeWizardPage("SELECT"); - addPage(selectFeatureTreePage); - - editFeatureTreePage = new EditFeatureTreeWizardPage("EDIT"); - addPage(editFeatureTreePage); - } - - - - /** {@inheritDoc} */ - @Override - public boolean performFinish() { - try{ - if (selectedFeatureTree != null){ - CdmStore.getService(IFeatureTreeService.class).merge(selectedFeatureTree, true); - } - conversation.commit(); - }finally{ - conversation.close(); - cdmEntitySession.dispose(); - if(previousCdmEntitySession != null) { - previousCdmEntitySession.bind(); - } - } - - return true; - } - - /** {@inheritDoc} */ - @Override - public boolean performCancel() { - cdmEntitySession.dispose(); - if(previousCdmEntitySession != null) { - previousCdmEntitySession.bind(); - } - return true; - } - - /** - *Setter for the field selectedFeatureTree
.
Getter for the field selectedFeatureTree
.