import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
import eu.etaxonomy.taxeditor.actions.WidgetTransfer;\r
+import eu.etaxonomy.taxeditor.editor.name.NameViewer;\r
\r
/** \r
* Formats <code>GroupedComposite</code> with cosmetic and layout properties specific to the\r
abstract public class GroupedComposite extends Composite implements IHasPropertySource { \r
private static final Logger logger = Logger.getLogger(GroupedComposite.class);\r
\r
- protected TextViewer textViewer;\r
+ protected NameViewer textViewer;\r
private Label draggableLabel;\r
protected IManagedForm managedForm;\r
protected Taxon taxon;\r
taxon = (Taxon) formData;\r
}\r
\r
- /**\r
- * \r
- */\r
protected void createLineWrapSupport() {\r
- new LineWrapSupport(getTextViewer(), managedForm);\r
+// logger.warn("LineWrapSupport not yet implemented - might never be.");\r
+ if (textViewer instanceof NameViewer) {\r
+ new LineWrapSupport(textViewer, managedForm);\r
+ } else {\r
+ logger.warn("Can't create line wrap support because textViewert has not been initialized.");\r
+ }\r
}\r
- \r
+ \r
protected void createContent() {\r
setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));\r
TableWrapLayout layout = new TableWrapLayout();\r
- layout.numColumns = 2;\r
layout.leftMargin = 0;\r
+ layout.topMargin = 0;\r
+ layout.bottomMargin = 0;\r
+ layout.verticalSpacing = 0;\r
setLayout(layout);\r
\r
Color groupBackgroundColor = TaxEditorPlugin.getDefault().\r
getColor(ITaxEditorConstants.GROUP_GRAY_BKG_COLOR);\r
- setBackground(groupBackgroundColor); \r
- \r
- draggableLabel = new Label(this, SWT.NONE);\r
- draggableLabel.setBackground(groupBackgroundColor);\r
- draggableLabel.setLayoutData(new TableWrapData(TableWrapData.CENTER, TableWrapData.TOP));\r
- \r
- setDraggableControl(draggableLabel);\r
+ setBackground(groupBackgroundColor);\r
}\r
\r
public Taxon getTaxon() {\r
/**\r
* @param textViewer\r
*/\r
- public void setTextViewer(TextViewer textViewer) {\r
+ public void setTextViewer(NameViewer textViewer) {\r
this.textViewer = textViewer;\r
}\r
-\r
- public void setText(String text) {\r
- Assert.isNotNull(getTextViewer(), \r
- "Cannot set text for a TextViewer that has not yet been initialized.");\r
- Assert.isNotNull(getTextViewer().getDocument(), \r
- "Cannot set text for a TextViewer whose Document has not yet been initialized.");\r
- getTextViewer().getDocument().set(text);\r
- }\r
+//\r
+// public void setText(String text) {\r
+// Assert.isNotNull(getTextViewer(), \r
+// "Cannot set text for a TextViewer that has not yet been initialized.");\r
+// Assert.isNotNull(getTextViewer().getDocument(), \r
+// "Cannot set text for a TextViewer whose Document has not yet been initialized.");\r
+// getTextViewer().getDocument().set(text);\r
+// }\r
\r
/**\r
* @param icon\r
*/\r
public void setIcon(Image icon) {\r
- draggableLabel.setImage(icon);\r
+ if (textViewer instanceof NameViewer) {\r
+ textViewer.setIcon(icon);\r
+ } else {\r
+ logger.warn("Can't set icon because textViewert has not been initialized.");\r
+ }\r
}\r
\r
/**\r
* @see org.eclipse.swt.widgets.Control#setFont(org.eclipse.swt.graphics.Font)\r
*/\r
public void setFont(Font font) {\r
- getTextViewer().getTextWidget().setFont(font);\r
+ if (textViewer != null) {\r
+ textViewer.getTextWidget().setFont(font);\r
+ } else {\r
+ logger.warn("Can't set font because textViewer has not been initalized.");\r
+ }\r
}\r
\r
FocusListener focusListener;\r
* @param prompt\r
*/\r
public void createEmptyViewerPrompt(final String prompt) {\r
- Assert.isNotNull(getTextViewer());\r
+ Assert.isNotNull(textViewer);\r
// new EmptyTextViewerPrompt(getTextViewer(), prompt);\r
\r
- final StyledText textControl = getTextViewer().getTextWidget();\r
- final IDocument document = getTextViewer().getDocument();\r
+ final StyledText textControl = textViewer.getTextWidget();\r
+ final IDocument document = textViewer.getDocument();\r
final Font promptFont = TaxEditorPlugin.getDefault()\r
.getFont(ITaxEditorConstants.DEFAULT_PROMPT_FONT);\r
setFocusListener(new FocusListener() {\r
abstract protected Font getViewerFont();\r
\r
protected void initEmptyText() {\r
- getTextViewer().getTextWidget().setFont(\r
+ textViewer.getTextWidget().setFont(\r
TaxEditorPlugin.getDefault()\r
.getFont(ITaxEditorConstants.DEFAULT_PROMPT_FONT));\r
\r
- getTextViewer().getDocument().set(getEmptyTextPrompt());\r
+ textViewer.getDocument().set(getEmptyTextPrompt());\r
}\r
\r
protected String getEmptyTextPrompt() {\r
// borderDecorator = new CompositeBorderDecorator(\r
// this, managedForm);\r
\r
- if (getTextViewer() == null) {\r
+ if (textViewer == null) {\r
logger.warn("Could not create border support - getTextViewer() returned null.");\r
} else {\r
borderDecorator = new CompositeBorderDecorator(\r
- getTextViewer().getTextWidget(), managedForm); \r
+ textViewer.getTextWidget(), managedForm); \r
// borderDecorator.setBorderedComposite(getTextViewer().getTextWidget());\r
borderDecorator.setLoseFocus(false);\r
- getTextViewer().getTextWidget().addFocusListener(borderDecorator);\r
+ textViewer.getTextWidget().addFocusListener(borderDecorator);\r
}\r
}\r
\r
DragSourceListener dragSourceListener = new DragSourceAdapter() {\r
\r
public void dragStart(DragSourceEvent event) {\r
- if (getTextViewer() != null) {\r
- getTextViewer().getTextWidget().setFocus();\r
+ if (textViewer != null) {\r
+ textViewer.getTextWidget().setFocus();\r
}\r
event.doit = true;\r
}\r
dragSource.dispose();\r
} \r
\r
- if (getFocusListener() != null && getTextViewer() != null \r
- && getTextViewer().getTextWidget() != null) {\r
- getTextViewer().getTextWidget().removeFocusListener(getFocusListener());\r
- getTextViewer().getTextWidget().removeFocusListener(borderDecorator);\r
- getTextViewer().getTextWidget().dispose();\r
+ if (getFocusListener() != null && textViewer != null \r
+ && textViewer.getTextWidget() != null) {\r
+ textViewer.getTextWidget().removeFocusListener(getFocusListener());\r
+ textViewer.getTextWidget().removeFocusListener(borderDecorator);\r
+ textViewer.getTextWidget().dispose();\r
}\r
\r
super.dispose();\r
\r
initTextViewer();\r
}\r
-\r
- protected void createContent() {\r
- // Stolen from NameComposite\r
- setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));\r
- TableWrapLayout layout = new TableWrapLayout();\r
- layout.leftMargin = 0;\r
- layout.topMargin = 0;\r
- layout.bottomMargin = 0;\r
- layout.verticalSpacing = 0;\r
- setLayout(layout);\r
\r
- Color groupBackgroundColor = TaxEditorPlugin.getDefault().\r
- getColor(ITaxEditorConstants.GROUP_GRAY_BKG_COLOR);\r
- setBackground(groupBackgroundColor);\r
- }\r
- \r
- public void setIcon(Image icon) {\r
- // Adapted from NameComposite\r
- if (getTextViewer() instanceof NameViewer) {\r
- ((NameViewer) getTextViewer()).setIcon(icon);\r
- }\r
- }\r
- \r
protected ContextMenu createContextMenu() {\r
// Adapted from NameComposite\r
- \r
- NameViewer nameViewer = (NameViewer) getTextViewer();\r
- \r
- if (nameViewer != null) {\r
- ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());\r
- nameViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
+ \r
+ if (textViewer != null) {\r
+ ContextMenu contextMenu = new ContextMenu(textViewer.getRulerControl());\r
+ textViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
return contextMenu;\r
} else {\r
- logger.warn("Can't create menu because nameViewer has not been initalized.");\r
+ logger.warn("Can't create menu because textViewer has not been initalized.");\r
return null;\r
}\r
}\r
text = "";\r
}\r
\r
- getTextViewer().getTextWidget().setText(text);\r
+ textViewer.getTextWidget().setText(text);\r
}\r
\r
public DescriptionElementBase getElement() {\r
return element;\r
}\r
\r
- protected void createLineWrapSupport() {\r
- new LineWrapSupport(getTextViewer(), managedForm);\r
- }\r
-\r
-\r
-\r
private void createTextViewer() {\r
this.textViewer = new NameViewer(this);\r
this.textViewer.getTextWidget().addModifyListener(new ParseListener() {\r
import org.eclipse.jface.action.MenuManager;\r
import org.eclipse.swt.events.FocusAdapter;\r
import org.eclipse.swt.events.FocusEvent;\r
+import org.eclipse.swt.graphics.Color;\r
import org.eclipse.swt.graphics.Font;\r
import org.eclipse.swt.graphics.Image;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.ui.forms.IManagedForm;\r
+import org.eclipse.ui.forms.widgets.TableWrapData;\r
+import org.eclipse.ui.forms.widgets.TableWrapLayout;\r
import org.eclipse.ui.views.properties.IPropertySource;\r
\r
import eu.etaxonomy.cdm.model.description.Feature;\r
\r
initTextViewer();\r
}\r
-\r
+ \r
private void initTextViewer() {\r
- String text = getDescription().getTitleCache();\r
- getTextViewer().getTextWidget().setText(text);\r
+ if (textViewer != null) {\r
+ String text = getDescription().getTitleCache();\r
+ textViewer.getTextWidget().setText(text);\r
+ } else {\r
+ logger.warn("TextViewer is null.");\r
+ }\r
}\r
\r
public TaxonDescription getDescription() {\r
return description;\r
}\r
- \r
- public void setIcon(Image icon) {\r
- // Adapted from NameComposite\r
- if (getTextViewer() instanceof NameViewer) {\r
- ((NameViewer) getTextViewer()).setIcon(icon);\r
- }\r
- }\r
\r
protected ContextMenu createContextMenu() {\r
// Adapted from NameComposite\r
\r
- NameViewer nameViewer = (NameViewer) getTextViewer();\r
- \r
- if (nameViewer != null) {\r
- ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());\r
- nameViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
+ if (textViewer != null) {\r
+ ContextMenu contextMenu = new ContextMenu(textViewer.getRulerControl());\r
+ textViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
return contextMenu;\r
} else {\r
- logger.warn("Can't create menu because nameViewer has not been initalized.");\r
+ logger.warn("Can't create menu because textViewer has not been initalized.");\r
return null;\r
}\r
}\r
protected void calculateErrors() {\r
super.calculateErrors();\r
\r
- nameViewer.setShowSecError(relatedTaxon);\r
+ textViewer.setShowSecError(relatedTaxon);\r
}\r
}\r
\r
protected void calculateErrors() {\r
super.calculateErrors();\r
\r
- nameViewer.setShowSecError(misappliedName);\r
+ textViewer.setShowSecError(misappliedName);\r
}\r
\r
@Override\r
\r
protected boolean isParsing;\r
\r
- protected NameViewer nameViewer;\r
-\r
/**\r
* The constructor for a DescriptionElementComposite. Takes a parent Composite on which to\r
* create itself, and an IManagedForm for Composite life cycle methods, i.e.\r
String compositeType, TaxonBase taxonBase) {\r
super(parent, managedForm);\r
\r
- createNameViewer();\r
+ createTextViewer();\r
createBorderSupport();\r
createLineWrapSupport();\r
\r
- setDraggableControl(nameViewer.getRulerControl());\r
+ setDraggableControl(textViewer.getRulerControl());\r
\r
createParser();\r
createEmptyViewerPrompt(EMPTY_NAME_PROMPT);\r
// during a session was to open a new taxon, the empty name prompt didn't work\r
createNameListener(taxonBase.getName());\r
}\r
-\r
- protected void createContent() {\r
- setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));\r
- TableWrapLayout layout = new TableWrapLayout();\r
- layout.leftMargin = 0;\r
- layout.topMargin = 0;\r
- layout.bottomMargin = 0;\r
- layout.verticalSpacing = 0;\r
- setLayout(layout);\r
- \r
- Color groupBackgroundColor = TaxEditorPlugin.getDefault().\r
- getColor(ITaxEditorConstants.GROUP_GRAY_BKG_COLOR);\r
- setBackground(groupBackgroundColor);\r
- }\r
\r
protected String getEmptyTextPrompt() {\r
return EMPTY_NAME_PROMPT;\r
protected abstract TaxonNameBase getName();\r
\r
protected void calculateErrors() {\r
- nameViewer.clearErrors();\r
- nameViewer.setShowParsingError(getName());\r
+ textViewer.clearErrors();\r
+ textViewer.setShowParsingError(getName());\r
}\r
\r
- private NameViewer createNameViewer() {\r
+ private NameViewer createTextViewer() {\r
\r
- nameViewer = new NameViewer(this);\r
+ textViewer = new NameViewer(this);\r
\r
- StyledText styledText = nameViewer.getTextWidget();\r
-// nameViewer.setLineBreakListener(new LineBreakListener() {\r
+ StyledText styledText = textViewer.getTextWidget();\r
+// textViewer.setLineBreakListener(new LineBreakListener() {\r
\r
- setTextViewer(nameViewer);\r
+ setTextViewer(textViewer);\r
\r
LineBreakListener lineBreakListener = new LineBreakListener() {\r
@Override\r
}\r
});\r
\r
- // createLineWrapSupport(nameViewer);\r
+ // createLineWrapSupport(textViewer);\r
\r
- return nameViewer;\r
+ return textViewer;\r
}\r
\r
private Label nonEditableInfo;\r
}\r
nonEditableInfo.setText(info.toUpperCase());\r
}\r
- \r
- public NameViewer getTextViewer() {\r
- return this.nameViewer;\r
- }\r
- \r
- public void setTextViewer(NameViewer textViewer) {\r
- this.nameViewer = textViewer;\r
- }\r
- \r
+ \r
public void createBorderSupport() {\r
super.createBorderSupport();\r
- if (nameViewer != null) {\r
- borderDecorator.setBorderedComposite(nameViewer.getTextWidget());\r
+ if (textViewer != null) {\r
+ borderDecorator.setBorderedComposite(textViewer.getTextWidget());\r
}\r
}\r
- \r
- public void setIcon(Image icon) {\r
- if (nameViewer != null) {\r
- nameViewer.setIcon(icon);\r
- }\r
- }\r
- \r
+ \r
protected IPropertySource getPropertySourceByName(TaxonNameBase name) {\r
if (name == null) {\r
return null;\r
}\r
\r
protected ContextMenu createContextMenu() {\r
- if (nameViewer != null) {\r
- ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());\r
- nameViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
+ if (textViewer != null) {\r
+ ContextMenu contextMenu = new ContextMenu(textViewer.getRulerControl());\r
+ textViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
return contextMenu;\r
} else {\r
- logger.warn("Can't create menu because nameViewer has not been initalized.");\r
+ logger.warn("Can't create menu because textViewer has not been initalized.");\r
return null;\r
}\r
}\r