Hi!

I am probably asking a stupid question, but I have written a small
plugin to accept a string drop and display a message of the string,
(just to get started).

The problem is, I am not sure my code ever gets activated.
I assume that SLDDropAction code is taking the action before it gets to
me?

My project,xml action is: 

  <extension point="net.refractions.udig.ui.dropAction">
         <action           
        
class="net.refractions.udig.test1.actions.StringDropAction"
               name="String Drag and Drop">
            <destination class="net.refractions.udig.project.ILayer"/>
                <acceptedType class="java.lang.String"/>
              </action>         
   </extension>

StringDropAction class extends IDropAction.

Am I on the right track?
What do I need to do to get my code to be able to process the drop?
All I get is a dialog window come up asking me to select a data source.

Thanks

Michelle

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jesse
Eichar
Sent: 01 November 2005 01:52
To: User-friendly Desktop Internet GIS
Subject: Re: [udig-devel] Drag and Drop and beyond.


[snip]

>I am trying to understand how to start approaching the D&D stuff I need

>to do. If I drop a string or image file onto a Map, I assume it would 
>need to create a new layer in the layer manager (and assuming I have 
>programmed where), ultimately store the data in the database and then 
>render the feature.
>  
>
Are you going to be developing on uDig 1.1 or 1.0.x?  I have done a lot 
of the difficult work so there is a nice framework for 1.1 but the 
downside is that it not being released until later this month.  I don't 
know what your timeline is like. 

You can look at 
net.refractions.udig.project.ui.internal.actions.DropAction for an 
example of an action taken when a url is dropped on a a layer.  The 
declaration of the drop action in the project.xml goes something like:
     <action
           
class="net.refractions.udig.project.ui.internal.actions.SLDDropAction"
           name="SLD Drag and Drop">
        <destination class="net.refractions.udig.project.ILayer"/>
        <acceptedType class="java.io.File"/>
        <acceptedType class="java.net.URL"/>
        <acceptedType class="java.lang.String"/>
     </action>
 
I'm going to put this example in the drag and drop documenation I wrote 
for you.

>So I need to deal with Map, LayerManager, RenderManager, Catalogue, 
>Feature and probably more? Ahhh! I feel sleepless nights coming on.
>  
>
This depends on the work flow and requirements.  Suppose you drop a 
string on layer in LayersView and the drop action creates a feature by 
interpreting the string and adds it to the layer.  In this case can use 
the Layer.getResource() method to get a FeatureStore (Class used for 
adding/removing features from a datastore) and add the feature using the

FeatureStore.  In this case all you need to know is the Layer and 
FeatureStore API.

Now suppose you drop a image that some how specifies a layer and all the

features in the layer.  In this case you need to know Map, Layer, 
Catalog, Feature, DataStore, etc...

Hope this helps.

Jesse
_______________________________________________
User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to