Michael, Jukka, i took some time trying to fix it. looks good, but i am not sure if i broke shortcuts/quasimodes in the process. so please work a bit with it doing
- activate a MultiClickTool (DrawLineString, CutFeaturesTool.. ) - cut a bit - rename layers using Copy/Paste and Enter - edit attributes in attribTab using Copy/Paste and Enter - enabled/disable snapping temporarily via space while editing stuff like that.. thx ede On 08.12.2015 14:04, edgar.sol...@web.de wrote: > not really. CutFeatureTool as well as DrawLineStringTool extend > MultiClickTool. if the error happens with CutFeatureTool it should happen w/ > DrawLineStringTool as weel. > > but let me investigate further.. ede > > On 08.12.2015 13:45, Michaël Michaud wrote: >> Hi Ede, >> >> If you have an idea hox to fix it, go ahead, >> Note : you get the error if CutFeaturesTool is active AND the user >> started to draw the cut line >> There is another situation which is annoying : if the user started to >> draw the cut line traversing a polygon >> then edit this particular polygon in attribute view and validate with >> enter : enter validate AND cut the polygon >> >> So yes, your diagnostic is probably right, >> >> Michaël >> >> Le 08/12/2015 11:02, edgar.sol...@web.de a écrit : >>> sounds like the global shortcut listener reacts here. Mike do you want to >>> look or should i? >>> >>> ..ede >>> >>> On 08.12.2015 10:21, Rahkonen Jukka (MML) wrote: >>>> The tool begins to be perfect but I found this small oddity: >>>> >>>> >>>> >>>> When the Cut feature tool is active, editing attributes in the attribute >>>> table and accepting changes with Enter throws an exception. Attribute >>>> gets edited, though. Issue has to do with Enter because I get no >>>> exceptions if I edit attributes and move to the next row with mouse. >>>> >>>> >>>> >>>> The error message is >>>> >>>> >>>> >>>> java.lang.IllegalArgumentException: Invalid number of points in LineString >>>> (found 1 - must be 0 or >= 2) >>>> >>>> at >>>> com.vividsolutions.jts.geom.LineString.init(LineString.java:102) >>>> >>>> at >>>> com.vividsolutions.jts.geom.LineString.<init>(LineString.java:93) >>>> >>>> at >>>> com.vividsolutions.jts.geom.GeometryFactory.createLineString(GeometryFactory.java:555) >>>> >>>> at >>>> com.vividsolutions.jts.geom.GeometryFactory.createLineString(GeometryFactory.java:546) >>>> >>>> at >>>> org.openjump.core.ui.plugin.edittoolbox.cursortools.CutFeaturesTool.getLineString(CutFeaturesTool.java:183) >>>> >>>> at >>>> org.openjump.core.ui.plugin.edittoolbox.cursortools.CutFeaturesTool.gestureFinished(CutFeaturesTool.java:108) >>>> >>>> at >>>> com.vividsolutions.jump.workbench.ui.cursortool.AbstractCursorTool.fireGestureFinished(AbstractCursorTool.java:596) >>>> >>>> at >>>> com.vividsolutions.jump.workbench.ui.cursortool.MultiClickTool.finishGesture(MultiClickTool.java:248) >>>> >>>> at >>>> com.vividsolutions.jump.workbench.ui.cursortool.MultiClickTool.mouseReleased(MultiClickTool.java:139) >>>> >>>> at >>>> com.vividsolutions.jump.workbench.ui.cursortool.MultiClickTool$1.keyReleased(MultiClickTool.java:303) >>>> >>>> at >>>> com.vividsolutions.jump.workbench.ui.MultiRecursiveKeyListener.keyReleased(MultiRecursiveKeyListener.java:52) >>>> >>>> at >>>> java.awt.AWTEventMulticaster.keyReleased(Unknown Source) >>>> >>>> at >>>> java.awt.Component.processKeyEvent(Unknown Source) >>>> >>>> at >>>> javax.swing.JComponent.processKeyEvent(Unknown Source) >>>> >>>> at java.awt.Component.processEvent(Unknown >>>> Source) >>>> >>>> at java.awt.Container.processEvent(Unknown >>>> Source) >>>> >>>> at >>>> java.awt.Component.dispatchEventImpl(Unknown Source) >>>> >>>> at >>>> java.awt.Container.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.Component.dispatchEvent(Unknown >>>> Source) >>>> >>>> at >>>> java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) >>>> >>>> at >>>> java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) >>>> >>>> at >>>> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) >>>> >>>> at >>>> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) >>>> >>>> at >>>> java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) >>>> >>>> at >>>> java.awt.Component.dispatchEventImpl(Unknown Source) >>>> >>>> at >>>> java.awt.Container.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.Window.dispatchEventImpl(Unknown >>>> Source) >>>> >>>> at java.awt.Component.dispatchEvent(Unknown >>>> Source) >>>> >>>> at >>>> java.awt.EventQueue.dispatchEventImpl(Unknown Source) >>>> >>>> at java.awt.EventQueue.access$200(Unknown >>>> Source) >>>> >>>> at java.awt.EventQueue$3.run(Unknown Source) >>>> >>>> at java.awt.EventQueue$3.run(Unknown Source) >>>> >>>> at >>>> java.security.AccessController.doPrivileged(Native Method) >>>> >>>> at >>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at >>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at java.awt.EventQueue$4.run(Unknown Source) >>>> >>>> at java.awt.EventQueue$4.run(Unknown Source) >>>> >>>> at >>>> java.security.AccessController.doPrivileged(Native Method) >>>> >>>> at >>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) >>>> >>>> at java.awt.EventQueue.dispatchEvent(Unknown >>>> Source) >>>> >>>> at >>>> java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) >>>> >>>> at >>>> java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) >>>> >>>> at >>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) >>>> >>>> at >>>> java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> >>>> at >>>> java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> >>>> at java.awt.EventDispatchThread.run(Unknown >>>> Source) >>>> >>>> >>>> >>>> >>>> >>>> -Jukka- >>>> >>>> >>>> >>>> Michaël Michaud wrote: >>>> >>>> >>>> >>>> Hi, >>>> >>>> Absolutely not ! >>>> (it is always painful to exclude pure GeometryCollections because >>>> MultiPolygon or MultiLineString and MultiPoint are "instanceof" >>>> GeometryCollection >>>> altough their class name is not GeometryCollection). >>>> >>>> Thanks for your watchfullness >>>> >>>> Michaël >>>> >>>> Le 07/12/2015 23:19, Rahkonen Jukka (MML) a écrit : >>>> >>>> Hi, >>>> >>>> >>>> >>>> Is it intentional that r4582 does not cut multipolygons and >>>> multilinestrings at all, not even if they have only one part? >>>> >>>> >>>> >>>> -Jukka- >>>> >>>> >>>> >>>> *Lähettäjä:*Michaël Michaud [mailto:m.michael.mich...@orange.fr] >>>> *Lähetetty:* 7. joulukuuta 2015 23:45 >>>> *Vastaanottaja:* jump-pilot-devel@lists.sourceforge.net >>>> <mailto:jump-pilot-devel@lists.sourceforge.net> >>>> *Aihe:* Re: [JPP-Devel] CutFeatureTool >>>> >>>> >>>> >>>> Hi Jukka, >>>> >>>> Thanks, here are some more improvements : >>>> - polygon/multipolygon case : preserve original geometry if number of >>>> geometries after cutting is still 1 >>>> - also GeometryCollection was throwing an exception. Now, it is still >>>> not cut, but it just display a (yellow) warning and let the process go on. >>>> >>>> Michaël >>>> >>>> Le 07/12/2015 09:08, Rahkonen Jukka (MML) a écrit : >>>> >>>> Seems to work right with points and multipoints. It was OK >>>> already in r4578 my Michael. I suppose that the same fix corrected also >>>> another issue of previous versions: If polygons or lines were selected but >>>> the split line did not intersect with any the selected features were >>>> deleted. >>>> >>>> >>>> >>>> Found one more small issue: If polygon is selected and the >>>> splitting line crosses some of the rings but not the whole polygon, the >>>> tool edits the source polygon by adding vertices into the locations of >>>> intersections. Perhaps the tool should check in some phase the dimensions >>>> of the intersection that is computed for polygons and revert noding if >>>> intersection is not an area? >>>> >>>> >>>> >>>> -Jukka- >>>> >>>> >>>> >>>> Giuseppe Aruta wrote: >>>> >>>> >>>> >>>> Hi Jukka, >>>> >>>> see OJ 4578. I added a small code to prevent deleting >>>> points/multipoints >>>> >>>> Peppe >>>> >>>> >>>> >>>> 2015-12-06 23:25 GMT+01:00 Michaël Michaud >>>> <m.michael.mich...@orange.fr <mailto:m.michael.mich...@orange.fr>>: >>>> >>>> Hi, >>>> >>>> Thanks for the tests Jukka. >>>> Exploding selected multi-geometries even if they are not >>>> split seems >>>> reasonnable. >>>> Problem with points / multi-points should be resolved (they >>>> should be >>>> unmodified) >>>> I found another problem : the tool processed only selected >>>> features of >>>> the first selected layer in the layerNamePanel. >>>> It now processes all selected features, but the undo tool >>>> undo features >>>> from one layer at a time. >>>> >>>> Michaël >>>> >>>> >>>> Le 06/12/2015 22:38, Rahkonen Jukka (MML) a écrit : >>>> > Hi, >>>> > >>>> > Some comments: >>>> > >>>> > - Works well with polygon containing holes >>>> > - Works with multipolygons and multilinestrings >>>> > - Seems to explode multigeometries which may be a surprise >>>> for the user. On the other hand it would be very hard to define what else >>>> to do it multigeometries have many parts and linestring splits only some >>>> of them so I think that "explode and split" is OK. >>>> > - Tool should check that no point/multipoint geometries are >>>> selected. Now I get "Layer must be editable" error with such misuse and >>>> the selected points are deleted. Undo fortunately works. >>>> > >>>> > -Jukka Rahkonen- >>>> > >>>> > Michaël Michaud wrote: >>>> > >>>> > Hi Peppe, Jukka, >>>> > >>>> > I just improved CutFeatureTool recently added by Peppe, >>>> > >>>> > - simplified split routines >>>> > - can now split a feature in more than two parts >>>> > - more robust (should remove artefacts noticed by Jukka : >>>> can you confirm ?) >>>> > - more transactional : undo will now un-split all features >>>> splitted durnig an operation >>>> > >>>> > There is still a side effect which is difficult to avoid : >>>> > - if a linestring contains a desired self-intersection (non >>>> simple-linestring), splitting the linestring will node the >>>> self-intersection (splitting uses union op which is noding all input >>>> features). >>>> > >>>> > Michaël >>>> > >>>> > Le 04/12/2015 10:21, Rahkonen Jukka (MML) a écrit : >>>> >> Hi, >>>> >> >>>> >> The tool has good features: >>>> >> - can split many polygons at the same time >>>> >> - splits also linestrings >>>> >> >>>> >> Something to study: >>>> >> - Splitting a polygon with hole through the hole creates >>>> odd geometries. The existing Split polygon with linestring toold does good >>>> job with those. >>>> >> - Splitting multipolygons can create odd geometries. >>>> >> >>>> >> -Jukka Rahkonen- >>>> >> >>>> >> >>>> >> >>>> ---------------------------------------------------------------------- >>>> >> -------- Go from Idea to Many App Stores Faster with >>>> Intel(R) XDK Give >>>> >> your users amazing mobile app experiences with Intel(R) >>>> XDK. >>>> >> Use one codebase in this all-in-one HTML5 development >>>> environment. >>>> >> Design, debug & build mobile apps & 2D/3D high-impact >>>> games for multiple OSs. >>>> >> >>>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>>> >> _______________________________________________ >>>> >> Jump-pilot-devel mailing list >>>> >> Jump-pilot-devel@lists.sourceforge.net >>>> <mailto:Jump-pilot-devel@lists.sourceforge.net> >>>> >> >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> >> >>>> > >>>> > >>>> ------------------------------------------------------------------------------ >>>> > Go from Idea to Many App Stores Faster with Intel(R) XDK >>>> Give your users amazing mobile app experiences with Intel(R) XDK. >>>> > Use one codebase in this all-in-one HTML5 development >>>> environment. >>>> > Design, debug & build mobile apps & 2D/3D high-impact games >>>> for multiple OSs. >>>> > >>>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>>> > _______________________________________________ >>>> > Jump-pilot-devel mailing list >>>> > Jump-pilot-devel@lists.sourceforge.net >>>> <mailto:Jump-pilot-devel@lists.sourceforge.net> >>>> > >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> > >>>> > >>>> ------------------------------------------------------------------------------ >>>> > Go from Idea to Many App Stores Faster with Intel(R) XDK >>>> > Give your users amazing mobile app experiences with >>>> Intel(R) XDK. >>>> > Use one codebase in this all-in-one HTML5 development >>>> environment. >>>> > Design, debug & build mobile apps & 2D/3D high-impact games >>>> for multiple OSs. >>>> > >>>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>>> > _______________________________________________ >>>> > Jump-pilot-devel mailing list >>>> > Jump-pilot-devel@lists.sourceforge.net >>>> <mailto:Jump-pilot-devel@lists.sourceforge.net> >>>> > >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> > >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Go from Idea to Many App Stores Faster with Intel(R) XDK >>>> Give your users amazing mobile app experiences with Intel(R) >>>> XDK. >>>> Use one codebase in this all-in-one HTML5 development >>>> environment. >>>> Design, debug & build mobile apps & 2D/3D high-impact games >>>> for multiple OSs. >>>> >>>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>>> _______________________________________________ >>>> Jump-pilot-devel mailing list >>>> Jump-pilot-devel@lists.sourceforge.net >>>> <mailto:Jump-pilot-devel@lists.sourceforge.net> >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> Go from Idea to Many App Stores Faster with Intel(R) XDK >>>> >>>> Give your users amazing mobile app experiences with Intel(R) XDK. >>>> >>>> Use one codebase in this all-in-one HTML5 development environment. >>>> >>>> Design, debug & build mobile apps & 2D/3D high-impact games for >>>> multiple OSs. >>>> >>>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> >>>> Jump-pilot-devel mailing list >>>> >>>> Jump-pilot-devel@lists.sourceforge.net >>>> <mailto:Jump-pilot-devel@lists.sourceforge.net> >>>> >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> Go from Idea to Many App Stores Faster with Intel(R) XDK >>>> >>>> Give your users amazing mobile app experiences with Intel(R) XDK. >>>> >>>> Use one codebase in this all-in-one HTML5 development environment. >>>> >>>> Design, debug & build mobile apps & 2D/3D high-impact games for >>>> multiple OSs. >>>> >>>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> >>>> Jump-pilot-devel mailing list >>>> >>>> Jump-pilot-devel@lists.sourceforge.net >>>> <mailto:Jump-pilot-devel@lists.sourceforge.net> >>>> >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Go from Idea to Many App Stores Faster with Intel(R) XDK >>>> Give your users amazing mobile app experiences with Intel(R) XDK. >>>> Use one codebase in this all-in-one HTML5 development environment. >>>> Design, debug & build mobile apps & 2D/3D high-impact games for multiple >>>> OSs. >>>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>>> >>>> >>>> >>>> _______________________________________________ >>>> Jump-pilot-devel mailing list >>>> Jump-pilot-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> >>> ------------------------------------------------------------------------------ >>> Go from Idea to Many App Stores Faster with Intel(R) XDK >>> Give your users amazing mobile app experiences with Intel(R) XDK. >>> Use one codebase in this all-in-one HTML5 development environment. >>> Design, debug & build mobile apps & 2D/3D high-impact games for multiple >>> OSs. >>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >>> _______________________________________________ >>> Jump-pilot-devel mailing list >>> Jump-pilot-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>> >> >> >> ------------------------------------------------------------------------------ >> Go from Idea to Many App Stores Faster with Intel(R) XDK >> Give your users amazing mobile app experiences with Intel(R) XDK. >> Use one codebase in this all-in-one HTML5 development environment. >> Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. >> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 >> _______________________________________________ >> Jump-pilot-devel mailing list >> Jump-pilot-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >> > ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel