Task #7211 (closed)
ROI text-wrap in Insight
Reported by: | wmoore | Owned by: | jburel |
---|---|---|---|
Priority: | minor | Milestone: | OMERO-4.4 |
Component: | Insight | Version: | n.a. |
Keywords: | n.a. | Cc: | saloynton |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | 0.0d |
Sprint: | 2011-11-29 (3) |
Description
Long text labels on Shapes could be wrapped to improve readability.
E.g. as in web: big_image_rois3.png:ticket:6166
vv Insight: big-image-rois3-insight.png:ticket:6166
Attachments (2)
Change History (13)
comment:1 Changed 12 years ago by jburel
- Remaining Time set to 0.3
- Sprint set to 2011-11-29 (3)
- Status changed from new to accepted
comment:2 Changed 12 years ago by wmoore
comment:3 Changed 12 years ago by jburel
- Remaining Time changed from 0.3 to 0
- Status changed from accepted to closed
comment:4 Changed 12 years ago by jburel
To test:
- Create a shape (rectangle, ellipse, line, polygon) with long text.
- Make sure the text is wrapped.
- Text should be displayed in a box with background color = tooltip color.
comment:5 Changed 12 years ago by saloynton
I had the following exception after drawing a rectangle and ellipse with long text. I moved/repositioned the rectangle to make space for the other shapes to be drawn.
java.lang.Exception: Abnormal termination due to an uncaught exception. java.lang.IllegalArgumentException: Can't add attribute to 0-length text at java.text.AttributedString.addAttribute(AttributedString.java:307) at org.openmicroscopy.shoola.util.ui.drawingtools.figures.FigureUtil.formatLayout(FigureUtil.java:134) at org.openmicroscopy.shoola.util.ui.drawingtools.figures.LineTextFigure.drawText(LineTextFigure.java:155) at org.openmicroscopy.shoola.util.ui.drawingtools.figures.LineTextFigure.drawFill(LineTextFigure.java:112) at org.jhotdraw.draw.AbstractAttributedFigure.draw(AbstractAttributedFigure.java:106) at org.openmicroscopy.shoola.util.roi.figures.MeasureLineFigure.draw(MeasureLineFigure.java:181) at org.jhotdraw.draw.DefaultDrawing.draw(DefaultDrawing.java:91) at org.jhotdraw.draw.DefaultDrawing.draw(DefaultDrawing.java:82) at org.jhotdraw.draw.DefaultDrawingView.drawDrawing(DefaultDrawingView.java:269) at org.jhotdraw.draw.DefaultDrawingView.paintComponent(DefaultDrawingView.java:170) at javax.swing.JComponent.paint(JComponent.java:1029) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JLayeredPane.paint(JLayeredPane.java:567) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JViewport.paint(JViewport.java:747) at javax.swing.JComponent._paintImmediately(JComponent.java:5098) at javax.swing.JComponent.paintImmediately(JComponent.java:4882) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:811) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713) at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:638) at java.awt.EventQueue$1.run(EventQueue.java:636) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:647) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Abnormal termination due to an uncaught exception. java.lang.IllegalArgumentException: Can't add attribute to 0-length text at java.text.AttributedString.addAttribute(AttributedString.java:307) at org.openmicroscopy.shoola.util.ui.drawingtools.figures.FigureUtil.formatLayout(FigureUtil.java:134) at org.openmicroscopy.shoola.util.ui.drawingtools.figures.LineTextFigure.drawText(LineTextFigure.java:155) at org.openmicroscopy.shoola.util.ui.drawingtools.figures.LineTextFigure.drawFill(LineTextFigure.java:112) at org.jhotdraw.draw.AbstractAttributedFigure.draw(AbstractAttributedFigure.java:106) at org.openmicroscopy.shoola.util.roi.figures.MeasureLineFigure.draw(MeasureLineFigure.java:181) at org.jhotdraw.draw.DefaultDrawing.draw(DefaultDrawing.java:91) at org.jhotdraw.draw.DefaultDrawing.draw(DefaultDrawing.java:82) at org.jhotdraw.draw.DefaultDrawingView.drawDrawing(DefaultDrawingView.java:269) at org.jhotdraw.draw.DefaultDrawingView.paintComponent(DefaultDrawingView.java:170) at javax.swing.JComponent.paint(JComponent.java:1029) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JLayeredPane.paint(JLayeredPane.java:567) at javax.swing.JComponent.paintChildren(JComponent.java:862) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JViewport.paint(JViewport.java:747) at javax.swing.JComponent._paintImmediately(JComponent.java:5098) at javax.swing.JComponent.paintImmediately(JComponent.java:4882) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:811) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713) at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:638) at java.awt.EventQueue$1.run(EventQueue.java:636) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:647) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Exception in thread "AWT-EventQueue-0" at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.showErrorDialog(UserNotifierImpl.java:182) at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.notifyError(UserNotifierImpl.java:271) at org.openmicroscopy.shoola.env.AbnormalExitHandler.doTermination(AbnormalExitHandler.java:138) at org.openmicroscopy.shoola.env.AbnormalExitHandler.terminate(AbnormalExitHandler.java:83) at org.openmicroscopy.shoola.env.AWTExceptionHanlder.handle(AWTExceptionHanlder.java:99) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.awt.EventDispatchThread.handleException(EventDispatchThread.java:412) at java.awt.EventDispatchThread.processException(EventDispatchThread.java:318) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:312) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
comment:6 Changed 12 years ago by jburel
- Status changed from closed to reopened
comment:7 Changed 12 years ago by jburel
- Status changed from reopened to closed
comment:8 Changed 12 years ago by saloynton
retested
Changed 12 years ago by jburel
Changed 12 years ago by jburel
comment:9 Changed 12 years ago by Jean-marie Burel <j.burel@…>
- Resolution set to fixed
(In [b057de6a0ae719e936a43c6eed6c1e9e700d88e1/ome.git]) Wrap text for ROI (close #7211)
Wrap the text linked to a shape.
comment:10 Changed 12 years ago by Jean-marie Burel <j.burel@…>
(In [94eb396dc169efe842e567b886244bcfdab8f544/ome.git]) Remove border of text box (see #7211)
Remove the border of the box displaying the text associated to roi.
comment:11 Changed 12 years ago by Jean-marie Burel <j.burel@…>
(In [01aec6b84980cb62a41169bb30fc602de4480711/ome.git]) Fix exception when text length is 0 (close #7211)
For comparison, here's the javascript wrapping code in web