-// $Id$
/**
* Copyright (C) 2007 EDIT
* European Distributed Institute of Taxonomy
import org.eclipse.core.commands.ParameterizedCommand;
import org.eclipse.core.commands.common.NotDefinedException;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.ICheckStateListener;
import eu.etaxonomy.taxeditor.store.TermStore;
/**
- * <p>Abstract AbstractMenuPreferences class.</p>
- *
* @author n.hoffmann
* @created 12.06.2009
* @version 1.0
*/
-public abstract class AbstractMenuPreferences<T extends DefinedTermBase> extends PreferencePage implements
+public abstract class AbstractMenuPreferences<T extends DefinedTermBase> extends CdmPreferencePage implements
IWorkbenchPreferencePage, IConversationEnabled{
private Button toggleButton;
}
protected List<T> getTerms(){
- return TermStore.getTerms(getTermClass());
+ if(!CdmStore.isActive() || getTermClass()==null) {
+ return new ArrayList<T>();
+ } else {
+ return TermStore.getTerms(getTermClass());
+ }
}
/**
toggleButton = new Button(buttonContainer, SWT.PUSH);
toggleButton.setText("Toggle");
toggleButton.addSelectionListener(new SelectionAdapter(){
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
@Override
public void widgetSelected(SelectionEvent e) {
state = state ? false : true;
return container;
}
-
- /**
- * <p>refresh</p>
- *
- * @param definedTerms a {@link java.util.List} object.
- */
protected void refresh(List<T> definedTerms) {
tableViewer.setInput(definedTerms);
tableViewer.setCheckedElements(preferedTerms.toArray());
}
- /**
- * <p>createAdditionalContent</p>
- *
- * @param container a {@link org.eclipse.swt.widgets.Composite} object.
- */
protected void createAdditionalContent(Composite container) {
// implement where needed
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createButtons(org.eclipse.swt.widgets.Composite)
- */
- /**
- * <p>createEditButtons</p>
- *
- * @param buttonContainer a {@link org.eclipse.swt.widgets.Composite} object.
- */
protected void createEditButtons(Composite buttonContainer) {
editButton = new Button(buttonContainer, SWT.PUSH);
*/
protected void addNewButtonListeners() {
newButton.addSelectionListener(new SelectionAdapter(){
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
@Override
public void widgetSelected(SelectionEvent e) {
VocabularyTermWizard<T> wizard = new VocabularyTermWizard<T>(getTermClass(), getConversationHolder());
}
}
-
});
}
*/
protected void addEditButtonListeners() {
editButton.addSelectionListener(new SelectionAdapter(){
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
@Override
public void widgetSelected(SelectionEvent event) {
/** {@inheritDoc} */
@Override
public void init(IWorkbench workbench) {
- setPreferenceStore(PreferencesUtil.getPreferenceStore());
- getConversationHolder().bind();
+ setPreferenceStore(PreferencesUtil.getPreferenceStore());
+ if(!CdmStore.isActive()) {
+ MessagingUtils.noDataSourceWarningDialog(null);
+
+ } else {
+ getConversationHolder().bind();
+ }
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
- */
/**
* <p>performDefaults</p>
*/
tableViewer.setAllChecked(true);
}
- /**
- * <p>Getter for the field <code>tableViewer</code>.</p>
- *
- * @return the tableViewer
- */
public CheckboxTableViewer getTableViewer() {
return tableViewer;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performOk()
- */
/** {@inheritDoc} */
@Override
public boolean performOk() {
+ if(!CdmStore.isActive()) {
+ return true;
+ }
+
if(checkNoneChecked()){
return false;
}
CdmStore.getTermManager().setPreferredTerms(preferredTerms, getTerms());
+ refresh(getTerms());
+
PreferencesUtil.firePreferencesChanged(this.getClass());
- return true;
+
+ return super.performOk();
}
private boolean checkNoneChecked(){
}
}
- /**
- * <p>getTermClass</p>
- *
- * @return a {@link java.lang.Class} object.
- */
protected abstract Class<T> getTermClass();
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
@Override
public ConversationHolder getConversationHolder() {
if(conversation == null){
return conversation;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
@Override
public void update(CdmDataChangeMap changeEvents) {
// implement where needed