/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.EditorPart;
-import org.eclipse.swt.layout.FillLayout;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
/**
* Editor responsible for editing authorities related to a particular {@link Group} entity.
- *
+ *
* @author cmathew
* @created Mar 28, 2013
*
private boolean dirty;
private ConversationHolder conversation;
private CdmAuthorityCompositeViewer viewer;
-
- public CdmAuthorityEditor() {
-
+
+ public CdmAuthorityEditor() {
+
}
/**
public void createPartControl(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new FillLayout(SWT.HORIZONTAL));
-
+
this.viewer = new CdmAuthorityCompositeViewer(container, this,((CdmAuthorityEditorInput) getEditorInput()).getGroup());
conversation = ((CdmAuthorityEditorInput) getEditorInput()).getConversationHolder();
- setPartName(getEditorInput().getName());
+ setPartName(getEditorInput().getName());
}
*/
@Override
public void setFocus() {
-
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setFocus();
}
/* (non-Javadoc)
public void doSave(IProgressMonitor monitor) {
try {
monitor.beginTask("Saving CDM Authority Editor", 1);
- getConversationHolder().commit(true);
+ getConversationHolder().commit(true);
dirty = false;
firePropertyChange(PROP_DIRTY);
monitor.worked(1);
throws PartInitException {
setSite(site);
setInput(input);
- }
+ }
/* (non-Javadoc)
* @see org.eclipse.ui.part.EditorPart#isDirty()
@Override
public void update(CdmDataChangeMap changeEvents) {
// TODO Auto-generated method stub
-
+
}
/* (non-Javadoc)
*/
@Override
public void changed(Object element) {
- //FIXME : should be optimised to split changes into adding / removing authorities
+ //FIXME : should be optimised to split changes into adding / removing authorities
// vs updating authorites
dirty = viewer.isDirty();
firePropertyChange(PROP_DIRTY);
// if the change has happened on the group then refresh the table
if(element instanceof Group) {
-
+
//FIXME: activating (setting focus) on the editor happens on every change
// This should be changed to only when the drop is successful
getSite().getPage().activate(this);
}
-
+
}
/* (non-Javadoc)
public ConversationHolder getConversationHolder() {
return conversation;
}
-
+
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.ui.forms.editor.FormEditor#dispose()
*/
@Override
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
- *
+ *
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchPartReference;
import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.forms.ManagedForm;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import eu.etaxonomy.taxeditor.editor.name.container.HomotypicalSynonymGroup;
import eu.etaxonomy.taxeditor.editor.name.container.MisappliedGroup;
import eu.etaxonomy.taxeditor.editor.name.dnd.NameEditorDropTargetListener;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.IPartChangeListener;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.TaxeditorPartService;
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.security.RequiredPermissions;
import eu.etaxonomy.taxeditor.store.CdmStore;
* <p>
* TaxonNameEditor class.
* </p>
- *
+ *
* @author p.ciardelli
* @author n.hoffmann
* @created 15.05.2008
* @version 1.0
*/
public class TaxonNameEditor extends EditorPart implements
- IMultiPageTaxonEditorPage, IAdaptable, IConversationEnabled,
- IPostOperationEnabled, IPartContentHasDetails, IPartChangeListener,
+ IMultiPageTaxonEditorPage, IConversationEnabled,
+ IPartContentHasDetails, IPartChangeListener,
ISelectionListener, IDropTargetable, ISecuredEditor {
/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.taxon.name"</code> */
* <p>
* Constructor for TaxonNameEditor.
* </p>
- *
+ *
* @param editor
* a {@link eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor}
* object.
* <p>
* getUndoContext
* </p>
- *
+ *
* @return a {@link org.eclipse.core.commands.operations.IUndoContext}
* object.
*/
/*
* (non-Javadoc)
- *
+ *
* @see
* org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets
* .Composite)
* <p>
* createManagedForm
* </p>
- *
+ *
* @param composite
* a {@link org.eclipse.swt.widgets.Composite} object.
*/
selection = null;
getSite().getSelectionProvider().setSelection(new StructuredSelection());
}
-
-
+
+
return super.setInput(input);
}
};
layout.horizontalSpacing = 0;
parent.setLayout(layout);
- parent.setBackground(EditorUtil
+ parent.setBackground(AbstractUtility
.getColor(Resources.COLOR_COMPOSITE_BACKGROUND));
createOrUpdateNameComposites();
* <p>
* Getter for the field <code>taxon</code>.
* </p>
- *
+ *
* @return a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object.
*/
public Taxon getTaxon() {
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
*/
/** {@inheritDoc} */
@Override
public void setFocus() {
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setFocus();
if (getSelectedContainer() == null) {
throw new IllegalStateException(
"There should always be a selected object.");
}
getSelectedContainer().setSelected();
-
+
// check permissions
boolean doEnable = permissionsSatisfied();
setEnabled(doEnable);
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
* ()
* <p>
* getConversationHolder
* </p>
- *
+ *
* @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
* object.
*/
- public ConversationHolder getConversationHolder() {
+ @Override
+ public ConversationHolder getConversationHolder() {
return conversation;
}
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.cdm.persistence.hibernate.ICdmPostCrudObserver#update(eu
* .etaxonomy.cdm.persistence.hibernate.CdmCrudEvent)
*/
/** {@inheritDoc} */
- public void update(CdmDataChangeMap events) {
+ @Override
+ public void update(CdmDataChangeMap events) {
// redraw();
}
/**
* Redraws this editor return true on success
- *
+ *
* @return a boolean.
*/
- public boolean redraw() {
+ @Override
+ public boolean redraw() {
return redraw(true);
}
/**
* {@inheritDoc}
- *
+ *
* Redraws the editor controls
*/
- public boolean redraw(boolean focus) {
+ @Override
+ public boolean redraw(boolean focus) {
createOrUpdateNameComposites();
* <p>
* getMultiPageTaxonEditor
* </p>
- *
+ *
* @return a {@link eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor}
* object.
*/
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.store.operations.IPostOperationEnabled#postOperation
* ()
*/
/** {@inheritDoc} */
- public boolean postOperation(CdmBase objectAffectedByOperation) {
+ @Override
+ public boolean postOperation(CdmBase objectAffectedByOperation) {
editor.changed(objectAffectedByOperation);
-
+
redraw(false);
if (objectAffectedByOperation instanceof TaxonBase) {
* <p>
* Getter for the field <code>managedForm</code>.
* </p>
- *
+ *
* @return the managedForm
*/
public ManagedForm getManagedForm() {
* <p>
* getControl
* </p>
- *
+ *
* @return a {@link org.eclipse.swt.widgets.Composite} object.
*/
- public Composite getControl() {
+ @Override
+ public Composite getControl() {
return this.getManagedForm().getForm().getBody();
}
* <p>
* Getter for the field <code>menu</code>.
* </p>
- *
+ *
* @return the menu
*/
public Menu getMenu() {
* <p>
* checkForEmptyNames
* </p>
- *
+ *
* @return true if there are empty names
*/
public boolean checkForEmptyNames() {
public void init(IEditorSite site, IEditorInput input)
throws PartInitException {
- if (!(input instanceof IEditorInput))
- throw new PartInitException("Invalid Input: Must be IEditorInput");
+ if (!(input != null)) {
+ throw new PartInitException("Invalid Input: Must be IEditorInput");
+ }
if (input.getAdapter(Taxon.class) != null) {
taxon = (Taxon) input.getAdapter(Taxon.class);
/**
- *
+ *
*/
private void createDragSupport() {
// Listen for names being dragged outside of existing homotypic groups -
* <p>
* Getter for the field <code>acceptedNameContainer</code>.
* </p>
- *
+ *
* @return a
* {@link eu.etaxonomy.taxeditor.editor.name.container.AcceptedNameContainer}
* object.
* <p>
* getSynonymGroup
* </p>
- *
+ *
* @param homotypicalGroup
* a {@link eu.etaxonomy.cdm.model.name.HomotypicalGroup} object.
* @return a
* <p>
* getDirtyNames
* </p>
- *
+ *
* @return a Set containing all composites that have been edited
*/
public Set<AbstractGroupedContainer> getDirtyNames() {
* <p>
* getGroupedContainers
* </p>
- *
+ *
* @return a {@link java.util.List} object.
*/
public List<AbstractGroupedContainer> getGroupedContainers() {
* <p>
* getAllGroups
* </p>
- *
+ *
* @return a {@link java.util.List} object.
*/
public List<AbstractGroup> getAllGroups() {
allGroups.add(getAcceptedGroup());
// List<HomotypicalSynonymGroup> grps = getHeterotypicSynonymGroups(); // UNUSED => remove
-
+
heterotypicSynonymGroups = getHeterotypicSynonymGroups();
-
+
if (heterotypicSynonymGroups != null) {
allGroups.addAll(heterotypicSynonymGroups);
}
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.ui.part.EditorPart#isDirty()
*/
/** {@inheritDoc} */
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.ui.part.WorkbenchPart#dispose()
*/
/** {@inheritDoc} */
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
*/
/** {@inheritDoc} */
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.
* IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
*/
/** {@inheritDoc} */
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+ @Override
+ public void selectionChanged(IWorkbenchPart part, ISelection selection) {
}
* <p>
* getNameEditor
* </p>
- *
+ *
* @return a {@link eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor}
* object.
*/
- public TaxonNameEditor getEditor() {
+ @Override
+ public TaxonNameEditor getEditor() {
return this;
}
* <p>
* Getter for the field <code>selectedObject</code>.
* </p>
- *
+ *
* @return a
* {@link eu.etaxonomy.taxeditor.editor.name.container.AbstractGroupedContainer}
* object.
* dragEntered
* </p>
*/
- public void dragEntered() {
+ @Override
+ public void dragEntered() {
// TODO change this
getControl().setBackground(
- EditorUtil.getColor(Resources.COLOR_DRAG_ENTER));
+ AbstractUtility.getColor(Resources.COLOR_DRAG_ENTER));
}
/**
* dragLeft
* </p>
*/
- public void dragLeft() {
+ @Override
+ public void dragLeft() {
getControl().setBackground(
- EditorUtil.getColor(Resources.COLOR_COMPOSITE_BACKGROUND));
+ AbstractUtility.getColor(Resources.COLOR_COMPOSITE_BACKGROUND));
}
* <p>
* setMisapplicationsGroup
* </p>
- *
+ *
* @param misappliedGroup
* a
* {@link eu.etaxonomy.taxeditor.editor.name.container.MisappliedGroup}
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.editor.IMultiPageTaxonEditorPage#isRedrawing()
*/
* <p>
* isRedrawing
* </p>
- *
+ *
* @return a boolean.
*/
- public boolean isRedrawing() {
+ @Override
+ public boolean isRedrawing() {
return false;
}
* <p>
* getToolkit
* </p>
- *
+ *
* @return a {@link org.eclipse.ui.forms.widgets.FormToolkit} object.
*/
public FormToolkit getToolkit() {
* <p>
* getHeterotypicSynonymGroups
* </p>
- *
+ *
* @return a {@link java.util.List} object.
*/
public List<HomotypicalSynonymGroup> getHeterotypicSynonymGroups() {
* <p>
* addHeterotypicSynonymGroup
* </p>
- *
+ *
* @param group
* a
* {@link eu.etaxonomy.taxeditor.editor.name.container.HomotypicalSynonymGroup}
* <p>
* getHomotypicSynonymGroup
* </p>
- *
+ *
* @return a
* {@link eu.etaxonomy.taxeditor.editor.name.container.HomotypicalSynonymGroup}
* object.
}
/**
- *
+ *
* @param acceptedGroup
*/
public void setAcceptedGroup(AcceptedGroup acceptedGroup) {
* <p>
* Getter for the field <code>misappliedGroup</code>.
* </p>
- *
+ *
* @return a
* {@link eu.etaxonomy.taxeditor.editor.name.container.MisappliedGroup}
* object.
* <p>
* isActive
* </p>
- *
+ *
* @return a boolean.
*/
public boolean isActive() {
- IWorkbenchPart activePart = EditorUtil.getActivePart();
+ IWorkbenchPart activePart = AbstractUtility.getActivePart();
return editor.equals(activePart);
}
* <p>
* onComplete
* </p>
- *
+ *
* @return a boolean.
*/
- public boolean onComplete() {
+ @Override
+ public boolean onComplete() {
getContainer(objectAffectedByLastOperation).setSelected();
return true;
}
/** {@inheritDoc} */
- public void partChanged(Integer eventType, IWorkbenchPartReference partRef) {
+ @Override
+ public void partChanged(Integer eventType, IWorkbenchPartReference partRef) {
if (!partRef.getPart(false).equals(editor)) {
// getSelectedObject().colorSelected(AbstractGroupedContainer.SELECTED_NO_FOCUS);
}
public void removeGroup(AbstractGroup group) {
if (group != null) {
group.dispose();
-
+
//if (heterotypicSynonymGroups != null) {
heterotypicSynonymGroups.remove(group);
//}
}
return getAcceptedNameContainer();
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.editor.IMultiPageTaxonEditorPage#setOnError()
*/
- public void setOnError() {
- Color disabledColor = StoreUtil.getColor(Resources.COLOR_EDITOR_ERROR);
+ @Override
+ public void setOnError() {
+ Color disabledColor = AbstractUtility.getColor(Resources.COLOR_EDITOR_ERROR);
setEnabled(false, disabledColor);
}
*/
@Override
public void setDisabled(){
- Color disabledColor = StoreUtil.getColor(Resources.COLOR_TEXT_DISABLED_BACKGROUND);
+ Color disabledColor = AbstractUtility.getColor(Resources.COLOR_TEXT_DISABLED_BACKGROUND);
setEnabled(false);
}
-
+
protected void setEnabled(boolean enabled, Color background) {
-
+
for(AbstractGroupedContainer groupedContainer : getGroupedContainers()){
groupedContainer.setEnabled(enabled);
}
-
+
// send an empty selection to the current provider - TODO only on error ???
if (!enabled) {
getManagedForm().setInput(null);
}
getControl().setBackground(background);
}
-
+
@Override
public void setEnabled(boolean enabled) {
- Color background = StoreUtil.getColor(enabled ? Resources.COLOR_COMPOSITE_BACKGROUND : Resources.COLOR_TEXT_DISABLED_BACKGROUND);
+ Color background = AbstractUtility.getColor(enabled ? Resources.COLOR_COMPOSITE_BACKGROUND : Resources.COLOR_TEXT_DISABLED_BACKGROUND);
setEnabled(enabled, background);
}
}
// $Id$\r
/**\r
* Copyright (C) 2009 EDIT\r
- * European Distributed Institute of Taxonomy \r
+ * European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
- * \r
+ *\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
public static final String ID = "eu.etaxonomy.taxeditor.editor.definedTerm";\r
\r
public static final String OPEN_COMMAND_ID = "eu.etaxonomy.taxeditor.store.openDefinedTermEditor";\r
- \r
+\r
protected TreeViewer viewer;\r
protected ConversationHolder conversation;\r
private ISelectionService selectionService;\r
\r
\r
\r
- private int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;\r
+ private final int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;\r
/**\r
- * \r
+ *\r
*/\r
public DefinedTermEditor() {\r
super();\r
\r
@Override\r
public void createPartControl(Composite parent) {\r
- \r
+\r
// parent.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));\r
- \r
+\r
FillLayout layout = new FillLayout();\r
layout.marginHeight = 0;\r
layout.marginWidth = 0;\r
layout.type = SWT.VERTICAL;\r
- \r
+\r
parent.setLayout(layout);\r
viewer = new TreeViewer(parent);\r
viewer.getControl().setLayoutData(LayoutConstants.FILL());\r
viewer.setContentProvider(new TermContentProvider());\r
viewer.setLabelProvider(new TermLabelProvider());\r
viewer.setSorter(new ViewerSorter());\r
- \r
+\r
Transfer[] transfers = new Transfer[] { TermTransfer.getInstance() };\r
viewer.addDragSupport(dndOperations, transfers, new DefinedTermDragListener(viewer));\r
viewer.addDropSupport(dndOperations, transfers, new DefinedTermDropAdapter(this));\r
- \r
+\r
getDefinedTermEditorInput().initialiseVocabularies();\r
viewer.setInput(getDefinedTermEditorInput().getVocabularies());\r
- \r
+\r
getSite().setSelectionProvider(viewer);\r
- \r
+\r
selectionService = getSite().getWorkbenchWindow().getSelectionService();\r
selectionService.addSelectionListener(this);\r
- \r
+\r
setPartName(getEditorInput().getName());\r
createMenu();\r
}\r
- \r
- \r
\r
- \r
+\r
+\r
+\r
/**\r
- * \r
+ *\r
*/\r
public TermEditorInput getDefinedTermEditorInput() {\r
return (TermEditorInput) getEditorInput();\r
*/\r
@Override\r
public boolean postOperation(CdmBase objectAffectedByOperation) {\r
- \r
- \r
- viewer.refresh(); \r
- \r
+\r
+\r
+ viewer.refresh();\r
+\r
if(objectAffectedByOperation != null){\r
viewer.setSelection(new StructuredSelection(objectAffectedByOperation));\r
}\r
setDirty(true);\r
\r
return true;\r
- } \r
+ }\r
\r
private void createMenu() {\r
// register context menu\r
menuManager\r
.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));\r
getSite().registerContextMenu(ID, menuManager, viewer);\r
- \r
+\r
Control control = viewer.getControl();\r
Menu menu = menuManager.createContextMenu(control);\r
control.setMenu(menu);\r
}\r
- \r
\r
- \r
+\r
+\r
\r
@Override\r
public void doSave(IProgressMonitor monitor) {\r
setDirty(false);\r
getDefinedTermEditorInput().initialiseVocabularies();\r
}\r
- \r
+\r
\r
@Override\r
public void doSaveAs() {}\r
public void init(IEditorSite site, IEditorInput input) throws PartInitException {\r
setSite(site);\r
setInput(input);\r
- \r
+\r
}\r
\r
@Override\r
\r
@Override\r
public void setFocus() {\r
+ viewer.getControl().setFocus();\r
getConversationHolder().bind();\r
}\r
\r
@Override\r
public void update(CdmDataChangeMap changeEvents) {\r
// TODO Auto-generated method stub\r
- \r
+\r
}\r
\r
@Override\r
@Override\r
public void selectionChanged(IWorkbenchPart part, ISelection selection) {\r
// TODO Auto-generated method stub\r
- \r
+\r
}\r
\r
@Override\r
}\r
\r
/**\r
- * \r
+ *\r
*/\r
public TreeViewer getViewer() {\r
return viewer;\r