X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/4db49a38a14c8574ea913c3494a802a07b7adee1..c3eaaf02e56dc13bb8a8d68ce3a78f41c9972ea3:/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java
index b38fd5965..49cf0b77a 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java
@@ -1,4 +1,3 @@
-// $Id$
/**
* Copyright (C) 2007 EDIT
* European Distributed Institute of Taxonomy
@@ -24,6 +23,9 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
@@ -31,12 +33,14 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Text;
@@ -63,18 +67,20 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.SimpleSelectionProvider;
+import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.editor.view.checklist.edit.DistributionEditingSupport;
-import eu.etaxonomy.taxeditor.editor.view.checklist.edit.RankEditingSupport;
import eu.etaxonomy.taxeditor.editor.view.checklist.filter.ChecklistEditorFilter;
import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistDropdownSelectionListener;
import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistFocusListener;
import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistModifyListener;
import eu.etaxonomy.taxeditor.model.IContextListener;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
@@ -86,14 +92,16 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
* @created 30.04.2014
* @version 1.0
*/
-public class ChecklistEditor extends EditorPart implements ISelectionListener, IPartContentHasFactualData,
- IConversationEnabled, IContextListener, IPartContentHasDetails, IDirtyMarkableSelectionProvider {
+public class ChecklistEditor extends EditorPart implements ISelectionListener, IPartContentHasFactualData, IConversationEnabled,
+ IContextListener, IDirtyMarkable, IPartContentHasDetails{
+
+ private static final String LOADING_TAXA = Messages.ChecklistEditor_LOAD_TAXA;
+ private static final String UNKNOWN = Messages.ChecklistEditor_UNKNOWN;
+ private static final String ELEMENT_COUNT = Messages.ChecklistEditor_ELEMENT_COUNT;
+ public static final String TYPE_FILTER_TEXT = "type filter text"; //$NON-NLS-1$
private static final Logger logger = Logger.getLogger(ChecklistEditor.class);
- /**
- * Key used for storing Checklist Editor View
- */
- private static final String CHECKLIST_EDITOR_MEMENTO_KEY = "checklistEditor";
+
private class ChecklistJob extends Job {
@@ -106,6 +114,7 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
super(title);
this.taxonNodes = listTaxonNodes;
+
}
/*
@@ -117,8 +126,8 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
@Override
public IStatus run(final IProgressMonitor monitor) {
try {
- logger.debug("Begin of eclipse core runtime Job to Retrieve datasources");
- monitor.beginTask("Retrieving TaxonNodes", taxonNodes.size() + 1);
+ logger.debug("Begin of eclipse core runtime Job to Retrieve datasources"); //$NON-NLS-1$
+ monitor.beginTask(Messages.ChecklistEditor_RETRIEVE_NODES, taxonNodes.size() + 1);
final ListID="eu.etaxonomy.taxeditor.store.datasource"{trunked}
*/
- public static String ID = "eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor";
+ public static String ID = "eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor"; //$NON-NLS-1$
private TableViewer viewer;
@@ -181,7 +190,13 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
private Label statusLabel;
+ private ICdmEntitySession cdmEntitySession;
+
+ private ChecklistLabelProvider labelProvider;
+
private SortedSet
+ *
+ *Notice: If you want to add additional columns later please use addTableViewerColumn()
+ *
+ * @param table
+ * @param titles
+ * @param bounds
+ * @param restoreValuesForColumnWidth
+ */
+ private void createInitalDistributionColumns(Table table,
+ List
+ * Notice: It adds also the TitleCache to the titles list for the header of each column.
+ *
+ * @param titles
+ * @param bounds
+ * @return Map
+ * Notice: for data update please use refresh()
+ *
+ */
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public void reload(){
+ //create new Items for Dropdown menue
+ Table table = viewer.getTable();
+ table.setRedraw(false);
+ SortedSet
+ *
+ * It will hide the old distribution column and load the newly added columns.
+ * service
.
@@ -460,9 +643,13 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
@Override
public void doSave(IProgressMonitor monitor) {
try {
- monitor.beginTask("Saving Editor", 1);
- getConversationHolder().bind();
- getConversationHolder().commit(true);
+ monitor.beginTask(Messages.ChecklistEditor_SAVE_EDITOR, 1);
+ if (!conversation.isBound()) {
+ conversation.bind();
+ }
+ CdmStore.getService(ITaxonNodeService.class).merge(selectedTaxonNodes, true);
+ //this.checklistEditorInput.merge();
+ conversation.commit(true);
setDirty(false);
monitor.worked(1);
} finally {
@@ -473,8 +660,6 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
@Override
public void doSaveAs() {
- // TODO Auto-generated method stub
-
}
@Override
@@ -483,16 +668,17 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
setInput(input);
if (input instanceof ChecklistEditorInput) {
checklistEditorInput = (ChecklistEditorInput) input;
- setPartName(getPartName() + ": " + checklistEditorInput.getName());
- conversation = ((ChecklistEditorInput) input).getConversationHolder();
+ setPartName(getPartName() + ": " + checklistEditorInput.getName()); //$NON-NLS-1$
+ conversation = checklistEditorInput.getConversation();
+ conversation.registerForDataStoreChanges(this);
}
simpleSelectionProvider = new SimpleSelectionProvider();
getSite().setSelectionProvider(simpleSelectionProvider);
+
}
@Override
public boolean isSaveAsAllowed() {
- // TODO Auto-generated method stub
return false;
}
@@ -504,33 +690,13 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
*/
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- // TODO Auto-generated method stub
-
+// System.out.println(selection.getClass().getSimpleName());
+// viewer.setSelection(selection, true);
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update
- * (eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
- @Override
- public void update(CdmDataChangeMap changeEvents) {
- }
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
- * ()
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
+
/*
* (non-Javadoc)
@@ -554,7 +720,6 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
*/
@Override
public void contextStop(IMemento memento, IProgressMonitor monitor) {
- // TODO Auto-generated method stub
// IStructuredSelection sel = (IStructuredSelection) this.viewer.getSelection();
// if (sel.isEmpty()) {
// return;
@@ -588,8 +753,6 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
*/
@Override
public void contextRefresh(IProgressMonitor monitor) {
- // TODO Auto-generated method stub
-
}
/*
@@ -606,11 +769,11 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
conversation = null;
}
- private static final List