Hello "The Sunburned Surveyor",
thanks for your answer. I guess this list make more sense :-) ( wasn't aware of
this )
as explained I'm already using a LayerListener. Let me try to explain with an
example:
- I've added a Layerlistener and get informed by its featureChanged-Method
- The user adds an simple empty ( just with the geometry ) feature to the
selected layer with the DrawPointTool.
- If the new feature doesn't match to given rules I would like to cancel the
current UndoableCommand created by DrawPointTool within my
LayerListener-Implementation
something inside the featureChanged like:
if( isUgly(feature)){
frame.warnUser("Don't add ugly features!");
stopExecutionAndRemoveUndoableCommand();
}
Regards,
Volker
-----Ursprüngliche Mitteilung-----
Von: Sunburned Surveyor <[email protected]>
An: [email protected]
Cc: OpenJump develop and use <[email protected]>
Verschickt: Di., 2. Feb. 2010, 16:45
Thema: Re: [openjump-users] cancel CursorTool-Command
Volker,
You should be able to do it in the same LayerListener. For example: If
you want to write a couple lines of text to a text file everytime
nodes are deleted from a feature, you would implement LayerListener.
In the LayerListener.featureChanged method you would need to test the
modified feature for deleted nodes.
In summary, test for your "rules" or conditions in the implementation
of the featureChanged method. If the modifications meet your set of
rules, then take the desired action. It is probably good design to
have two private methods in your LayerListener implementation. The
first private method would conduct the test to see if the feature
modification met your criteria. The second private method would
perform the desired action if the criteria was met.
Note: The ability to listen for feature changes is handy, but it can
be over used. To much "listening" can really slow down the execution
of the program, so use it judiciously.
The Sunburned Surveyor
P.S. - This discussion should really be moved to the JPP developer's
mailing list. I am going to copy that list on this response.
On Tue, Feb 2, 2010 at 5:48 AM, Volker <[email protected]> wrote:
> Hello,
>
> I added a LayerListener so that I can do a specific action when a
> feature was added to the layer by any CursorTool (e.g.
> DrawPointTool).
>
> If given Rules are not fulFilled I would like to cancel this
> CursorTool-Command?
>
> Any idea how or do I have to use an other Listener?
>
> Thanks in advance :-)
>
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel