Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #7211 (closed)

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

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)

7211_before.tiff (593.4 KB) - added by jburel 12 years ago.
7211_after.tiff (589.9 KB) - added by jburel 12 years ago.

Download all attachments as: .zip

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

For comparison, here's the javascript wrapping code in web

        var formatShapeText = function(text_string) {
            var rows = parseInt(Math.sqrt(text_string.length / 6));     // rough ratio: cols = rows * 6
            var cols = parseInt(text_string.length/rows) + 1;
            if (text_string.length > cols) {
                var lines = [];
                var words = text_string.split(" ");
                var line = "";
                for (var w=0; w<words.length; w++) {
                    var word = words[w];
                    if (line.length == 0) {
                        line = word;
                    }
                    else if (word.length + line.length > cols) {
                        lines.push(line);
                        line = word;
                    }
                    else {
                        line += (" " + word);
                    }
                }
                // handle the tail end
                if (line.length > 0)
                    lines.push(line);
                return lines.join("\n");
            }
            return text_string;

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)

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.71326 sec.)

We're Hiring!