From: p.ciardelli
GroupedComposite
with cosmetic and layout properties specific to the
@@ -62,7 +63,7 @@ import eu.etaxonomy.taxeditor.actions.WidgetTransfer;
abstract public class GroupedComposite extends Composite implements IHasPropertySource {
private static final Logger logger = Logger.getLogger(GroupedComposite.class);
- protected TextViewer textViewer;
+ protected NameViewer textViewer;
private Label draggableLabel;
protected IManagedForm managedForm;
protected Taxon taxon;
@@ -86,29 +87,27 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
taxon = (Taxon) formData;
}
- /**
- *
- */
protected void createLineWrapSupport() {
- new LineWrapSupport(getTextViewer(), managedForm);
+// logger.warn("LineWrapSupport not yet implemented - might never be.");
+ if (textViewer instanceof NameViewer) {
+ new LineWrapSupport(textViewer, managedForm);
+ } else {
+ logger.warn("Can't create line wrap support because textViewert has not been initialized.");
+ }
}
-
+
protected void createContent() {
setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
TableWrapLayout layout = new TableWrapLayout();
- layout.numColumns = 2;
layout.leftMargin = 0;
+ layout.topMargin = 0;
+ layout.bottomMargin = 0;
+ layout.verticalSpacing = 0;
setLayout(layout);
Color groupBackgroundColor = TaxEditorPlugin.getDefault().
getColor(ITaxEditorConstants.GROUP_GRAY_BKG_COLOR);
- setBackground(groupBackgroundColor);
-
- draggableLabel = new Label(this, SWT.NONE);
- draggableLabel.setBackground(groupBackgroundColor);
- draggableLabel.setLayoutData(new TableWrapData(TableWrapData.CENTER, TableWrapData.TOP));
-
- setDraggableControl(draggableLabel);
+ setBackground(groupBackgroundColor);
}
public Taxon getTaxon() {
@@ -125,23 +124,27 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
/**
* @param textViewer
*/
- public void setTextViewer(TextViewer textViewer) {
+ public void setTextViewer(NameViewer textViewer) {
this.textViewer = textViewer;
}
-
- public void setText(String text) {
- Assert.isNotNull(getTextViewer(),
- "Cannot set text for a TextViewer that has not yet been initialized.");
- Assert.isNotNull(getTextViewer().getDocument(),
- "Cannot set text for a TextViewer whose Document has not yet been initialized.");
- getTextViewer().getDocument().set(text);
- }
+//
+// public void setText(String text) {
+// Assert.isNotNull(getTextViewer(),
+// "Cannot set text for a TextViewer that has not yet been initialized.");
+// Assert.isNotNull(getTextViewer().getDocument(),
+// "Cannot set text for a TextViewer whose Document has not yet been initialized.");
+// getTextViewer().getDocument().set(text);
+// }
/**
* @param icon
*/
public void setIcon(Image icon) {
- draggableLabel.setImage(icon);
+ if (textViewer instanceof NameViewer) {
+ textViewer.setIcon(icon);
+ } else {
+ logger.warn("Can't set icon because textViewert has not been initialized.");
+ }
}
/**
@@ -183,7 +186,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
* @see org.eclipse.swt.widgets.Control#setFont(org.eclipse.swt.graphics.Font)
*/
public void setFont(Font font) {
- getTextViewer().getTextWidget().setFont(font);
+ if (textViewer != null) {
+ textViewer.getTextWidget().setFont(font);
+ } else {
+ logger.warn("Can't set font because textViewer has not been initalized.");
+ }
}
FocusListener focusListener;
@@ -196,11 +203,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
* @param prompt
*/
public void createEmptyViewerPrompt(final String prompt) {
- Assert.isNotNull(getTextViewer());
+ Assert.isNotNull(textViewer);
// new EmptyTextViewerPrompt(getTextViewer(), prompt);
- final StyledText textControl = getTextViewer().getTextWidget();
- final IDocument document = getTextViewer().getDocument();
+ final StyledText textControl = textViewer.getTextWidget();
+ final IDocument document = textViewer.getDocument();
final Font promptFont = TaxEditorPlugin.getDefault()
.getFont(ITaxEditorConstants.DEFAULT_PROMPT_FONT);
setFocusListener(new FocusListener() {
@@ -232,11 +239,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
abstract protected Font getViewerFont();
protected void initEmptyText() {
- getTextViewer().getTextWidget().setFont(
+ textViewer.getTextWidget().setFont(
TaxEditorPlugin.getDefault()
.getFont(ITaxEditorConstants.DEFAULT_PROMPT_FONT));
- getTextViewer().getDocument().set(getEmptyTextPrompt());
+ textViewer.getDocument().set(getEmptyTextPrompt());
}
protected String getEmptyTextPrompt() {
@@ -258,14 +265,14 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
// borderDecorator = new CompositeBorderDecorator(
// this, managedForm);
- if (getTextViewer() == null) {
+ if (textViewer == null) {
logger.warn("Could not create border support - getTextViewer() returned null.");
} else {
borderDecorator = new CompositeBorderDecorator(
- getTextViewer().getTextWidget(), managedForm);
+ textViewer.getTextWidget(), managedForm);
// borderDecorator.setBorderedComposite(getTextViewer().getTextWidget());
borderDecorator.setLoseFocus(false);
- getTextViewer().getTextWidget().addFocusListener(borderDecorator);
+ textViewer.getTextWidget().addFocusListener(borderDecorator);
}
}
@@ -340,8 +347,8 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
DragSourceListener dragSourceListener = new DragSourceAdapter() {
public void dragStart(DragSourceEvent event) {
- if (getTextViewer() != null) {
- getTextViewer().getTextWidget().setFocus();
+ if (textViewer != null) {
+ textViewer.getTextWidget().setFocus();
}
event.doit = true;
}
@@ -361,11 +368,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
dragSource.dispose();
}
- if (getFocusListener() != null && getTextViewer() != null
- && getTextViewer().getTextWidget() != null) {
- getTextViewer().getTextWidget().removeFocusListener(getFocusListener());
- getTextViewer().getTextWidget().removeFocusListener(borderDecorator);
- getTextViewer().getTextWidget().dispose();
+ if (getFocusListener() != null && textViewer != null
+ && textViewer.getTextWidget() != null) {
+ textViewer.getTextWidget().removeFocusListener(getFocusListener());
+ textViewer.getTextWidget().removeFocusListener(borderDecorator);
+ textViewer.getTextWidget().dispose();
}
super.dispose();
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java
index ada7e6e08..c9dfdbe17 100644
--- a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java
+++ b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java
@@ -96,40 +96,16 @@ public class DescriptionElementComposite extends GroupedComposite {
initTextViewer();
}
-
- protected void createContent() {
- // Stolen from NameComposite
- setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- TableWrapLayout layout = new TableWrapLayout();
- layout.leftMargin = 0;
- layout.topMargin = 0;
- layout.bottomMargin = 0;
- layout.verticalSpacing = 0;
- setLayout(layout);
- Color groupBackgroundColor = TaxEditorPlugin.getDefault().
- getColor(ITaxEditorConstants.GROUP_GRAY_BKG_COLOR);
- setBackground(groupBackgroundColor);
- }
-
- public void setIcon(Image icon) {
- // Adapted from NameComposite
- if (getTextViewer() instanceof NameViewer) {
- ((NameViewer) getTextViewer()).setIcon(icon);
- }
- }
-
protected ContextMenu createContextMenu() {
// Adapted from NameComposite
-
- NameViewer nameViewer = (NameViewer) getTextViewer();
-
- if (nameViewer != null) {
- ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());
- nameViewer.getTextWidget().setMenu(contextMenu.getMenu());
+
+ if (textViewer != null) {
+ ContextMenu contextMenu = new ContextMenu(textViewer.getRulerControl());
+ textViewer.getTextWidget().setMenu(contextMenu.getMenu());
return contextMenu;
} else {
- logger.warn("Can't create menu because nameViewer has not been initalized.");
+ logger.warn("Can't create menu because textViewer has not been initalized.");
return null;
}
}
@@ -144,19 +120,13 @@ public class DescriptionElementComposite extends GroupedComposite {
text = "";
}
- getTextViewer().getTextWidget().setText(text);
+ textViewer.getTextWidget().setText(text);
}
public DescriptionElementBase getElement() {
return element;
}
- protected void createLineWrapSupport() {
- new LineWrapSupport(getTextViewer(), managedForm);
- }
-
-
-
private void createTextViewer() {
this.textViewer = new NameViewer(this);
this.textViewer.getTextWidget().addModifyListener(new ParseListener() {
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java
index 090572f0a..25f481a41 100644
--- a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java
+++ b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java
@@ -18,10 +18,13 @@ import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
import org.eclipse.ui.views.properties.IPropertySource;
import eu.etaxonomy.cdm.model.description.Feature;
@@ -89,34 +92,29 @@ public class DescriptionLabelComposite extends GroupedComposite {
initTextViewer();
}
-
+
private void initTextViewer() {
- String text = getDescription().getTitleCache();
- getTextViewer().getTextWidget().setText(text);
+ if (textViewer != null) {
+ String text = getDescription().getTitleCache();
+ textViewer.getTextWidget().setText(text);
+ } else {
+ logger.warn("TextViewer is null.");
+ }
}
public TaxonDescription getDescription() {
return description;
}
-
- public void setIcon(Image icon) {
- // Adapted from NameComposite
- if (getTextViewer() instanceof NameViewer) {
- ((NameViewer) getTextViewer()).setIcon(icon);
- }
- }
protected ContextMenu createContextMenu() {
// Adapted from NameComposite
- NameViewer nameViewer = (NameViewer) getTextViewer();
-
- if (nameViewer != null) {
- ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());
- nameViewer.getTextWidget().setMenu(contextMenu.getMenu());
+ if (textViewer != null) {
+ ContextMenu contextMenu = new ContextMenu(textViewer.getRulerControl());
+ textViewer.getTextWidget().setMenu(contextMenu.getMenu());
return contextMenu;
} else {
- logger.warn("Can't create menu because nameViewer has not been initalized.");
+ logger.warn("Can't create menu because textViewer has not been initalized.");
return null;
}
}
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/ConceptComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/ConceptComposite.java
index 8290390a4..6e12efbb0 100644
--- a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/ConceptComposite.java
+++ b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/ConceptComposite.java
@@ -136,7 +136,7 @@ public class ConceptComposite extends NameComposite {
protected void calculateErrors() {
super.calculateErrors();
- nameViewer.setShowSecError(relatedTaxon);
+ textViewer.setShowSecError(relatedTaxon);
}
}
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/MisappliedNameComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/MisappliedNameComposite.java
index dea038a43..e832d4e6d 100644
--- a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/MisappliedNameComposite.java
+++ b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/MisappliedNameComposite.java
@@ -123,7 +123,7 @@ public class MisappliedNameComposite extends NameComposite {
protected void calculateErrors() {
super.calculateErrors();
- nameViewer.setShowSecError(misappliedName);
+ textViewer.setShowSecError(misappliedName);
}
@Override
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/NameComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/NameComposite.java
index 538a96951..7eef59c58 100644
--- a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/NameComposite.java
+++ b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/NameComposite.java
@@ -143,8 +143,6 @@ public abstract class NameComposite extends GroupedComposite {
protected boolean isParsing;
- protected NameViewer nameViewer;
-
/**
* The constructor for a DescriptionElementComposite. Takes a parent Composite on which to
* create itself, and an IManagedForm for Composite life cycle methods, i.e.
@@ -158,11 +156,11 @@ public abstract class NameComposite extends GroupedComposite {
String compositeType, TaxonBase taxonBase) {
super(parent, managedForm);
- createNameViewer();
+ createTextViewer();
createBorderSupport();
createLineWrapSupport();
- setDraggableControl(nameViewer.getRulerControl());
+ setDraggableControl(textViewer.getRulerControl());
createParser();
createEmptyViewerPrompt(EMPTY_NAME_PROMPT);
@@ -172,20 +170,6 @@ public abstract class NameComposite extends GroupedComposite {
// during a session was to open a new taxon, the empty name prompt didn't work
createNameListener(taxonBase.getName());
}
-
- protected void createContent() {
- setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
- TableWrapLayout layout = new TableWrapLayout();
- layout.leftMargin = 0;
- layout.topMargin = 0;
- layout.bottomMargin = 0;
- layout.verticalSpacing = 0;
- setLayout(layout);
-
- Color groupBackgroundColor = TaxEditorPlugin.getDefault().
- getColor(ITaxEditorConstants.GROUP_GRAY_BKG_COLOR);
- setBackground(groupBackgroundColor);
- }
protected String getEmptyTextPrompt() {
return EMPTY_NAME_PROMPT;
@@ -297,18 +281,18 @@ public abstract class NameComposite extends GroupedComposite {
protected abstract TaxonNameBase getName();
protected void calculateErrors() {
- nameViewer.clearErrors();
- nameViewer.setShowParsingError(getName());
+ textViewer.clearErrors();
+ textViewer.setShowParsingError(getName());
}
- private NameViewer createNameViewer() {
+ private NameViewer createTextViewer() {
- nameViewer = new NameViewer(this);
+ textViewer = new NameViewer(this);
- StyledText styledText = nameViewer.getTextWidget();
-// nameViewer.setLineBreakListener(new LineBreakListener() {
+ StyledText styledText = textViewer.getTextWidget();
+// textViewer.setLineBreakListener(new LineBreakListener() {
- setTextViewer(nameViewer);
+ setTextViewer(textViewer);
LineBreakListener lineBreakListener = new LineBreakListener() {
@Override
@@ -331,9 +315,9 @@ public abstract class NameComposite extends GroupedComposite {
}
});
- // createLineWrapSupport(nameViewer);
+ // createLineWrapSupport(textViewer);
- return nameViewer;
+ return textViewer;
}
private Label nonEditableInfo;
@@ -355,28 +339,14 @@ public abstract class NameComposite extends GroupedComposite {
}
nonEditableInfo.setText(info.toUpperCase());
}
-
- public NameViewer getTextViewer() {
- return this.nameViewer;
- }
-
- public void setTextViewer(NameViewer textViewer) {
- this.nameViewer = textViewer;
- }
-
+
public void createBorderSupport() {
super.createBorderSupport();
- if (nameViewer != null) {
- borderDecorator.setBorderedComposite(nameViewer.getTextWidget());
+ if (textViewer != null) {
+ borderDecorator.setBorderedComposite(textViewer.getTextWidget());
}
}
-
- public void setIcon(Image icon) {
- if (nameViewer != null) {
- nameViewer.setIcon(icon);
- }
- }
-
+
protected IPropertySource getPropertySourceByName(TaxonNameBase name) {
if (name == null) {
return null;
@@ -396,12 +366,12 @@ public abstract class NameComposite extends GroupedComposite {
}
protected ContextMenu createContextMenu() {
- if (nameViewer != null) {
- ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());
- nameViewer.getTextWidget().setMenu(contextMenu.getMenu());
+ if (textViewer != null) {
+ ContextMenu contextMenu = new ContextMenu(textViewer.getRulerControl());
+ textViewer.getTextWidget().setMenu(contextMenu.getMenu());
return contextMenu;
} else {
- logger.warn("Can't create menu because nameViewer has not been initalized.");
+ logger.warn("Can't create menu because textViewer has not been initalized.");
return null;
}
}