Halfway through refactoring upwards from NameComposite, DescriptionElementComposite...
authorp.ciardelli <p.ciardelli@localhost>
Fri, 6 Feb 2009 16:17:24 +0000 (16:17 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Fri, 6 Feb 2009 16:17:24 +0000 (16:17 +0000)
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/GroupedComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/ConceptComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/MisappliedNameComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/NameComposite.java

index ca1ad9b1f5440f3457821aa40523c42cdb48e066..6ed64795dfa100735737567e2a693241663782e1 100644 (file)
@@ -37,6 +37,7 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 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
@@ -62,7 +63,7 @@ import eu.etaxonomy.taxeditor.actions.WidgetTransfer;
 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
@@ -86,29 +87,27 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
                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
@@ -125,23 +124,27 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
        /**\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
@@ -183,7 +186,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
         * @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
@@ -196,11 +203,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
         * @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
@@ -232,11 +239,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
        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
@@ -258,14 +265,14 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
 //             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
@@ -340,8 +347,8 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
        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
@@ -361,11 +368,11 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
                        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
index ada7e6e08f146cb3f4ac73c590a383533ab1fc15..c9dfdbe17f9d35ba3c584793af72f8beeb790186 100644 (file)
@@ -96,40 +96,16 @@ public class DescriptionElementComposite extends GroupedComposite {
                \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
@@ -144,19 +120,13 @@ public class DescriptionElementComposite extends GroupedComposite {
                        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
index 090572f0a6836a244dd0446389fe8f0e924ccb75..25f481a414f31a64e30fb767c6d36efa5818297f 100644 (file)
@@ -18,10 +18,13 @@ import org.eclipse.jface.action.IMenuManager;
 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
@@ -89,34 +92,29 @@ public class DescriptionLabelComposite extends GroupedComposite {
                \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
index 8290390a4280994bb734ac72aac1de5821d8e565..6e12efbb02c6329469475bd53fed1ec280a9e9cf 100644 (file)
@@ -136,7 +136,7 @@ public class ConceptComposite extends NameComposite {
        protected void calculateErrors() {\r
                super.calculateErrors();\r
                \r
-               nameViewer.setShowSecError(relatedTaxon);\r
+               textViewer.setShowSecError(relatedTaxon);\r
        }\r
 }\r
 \r
index dea038a43844dba4323e422ba01b1355a474130d..e832d4e6d39740d11d011209ce732f9850b0684a 100644 (file)
@@ -123,7 +123,7 @@ public class MisappliedNameComposite extends NameComposite {
        protected void calculateErrors() {\r
                super.calculateErrors();\r
                \r
-               nameViewer.setShowSecError(misappliedName);\r
+               textViewer.setShowSecError(misappliedName);\r
        }\r
 \r
        @Override\r
index 538a96951692ae1d0d27e0f0d79184ac13a5bf4e..7eef59c58e0588d9033506b663c66fe8c51f0af5 100644 (file)
@@ -143,8 +143,6 @@ public abstract class NameComposite extends GroupedComposite {
 \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
@@ -158,11 +156,11 @@ public abstract class NameComposite extends GroupedComposite {
                        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
@@ -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\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
@@ -297,18 +281,18 @@ public abstract class NameComposite extends GroupedComposite {
        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
@@ -331,9 +315,9 @@ public abstract class NameComposite extends GroupedComposite {
                        }\r
                });\r
                \r
-               // createLineWrapSupport(nameViewer);\r
+               // createLineWrapSupport(textViewer);\r
                \r
-               return nameViewer;\r
+               return textViewer;\r
        }\r
 \r
        private Label nonEditableInfo;\r
@@ -355,28 +339,14 @@ public abstract class NameComposite extends GroupedComposite {
                }\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
@@ -396,12 +366,12 @@ public abstract class NameComposite extends GroupedComposite {
        }\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