If I ever understand enough to get it written!! I am working on my uDig plugin full time now, so fingers crossed.
Michelle -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Ramsey Sent: 25 February 2006 19:08 To: User-friendly Desktop Internet GIS Subject: Re: [udig-devel] Drag and Drop and beyond. Just an aside: this is a really cool UI approach to data entry, very intuitive for end users! Only good for points, but what the heck! I like it, perhaps we could get this plug-in into the community site and genericized later on: the "drop palette" data entry system. P On 25-Feb-06, at 10:48 AM, Jesse Eichar wrote: > You can drop it onto a map but you have to specify Map as the > target. Or better would be MapEditor. It is the job of the Drop > action to determine where in the map and on which layer the image > is dropped on to. The DND framework just wants to know the if an > image is dropped on to a MapEditor what DropAction do I call. The > drop action determine what happens. If you were to drop onto a > layer in the layers view then the target would be an ILayer. But > if you drop onto the Map editor then it should be a Map or MapEditor. > > Jesse > > M.S.Bachler wrote: >> Hi! >> So you are saying that I cannot drop an icon onto a map? >> I just want to check we are using the same terminology and I am >> not missunderstanding as I am new to GIS in general. >> There is a large main window (view) where you display the GIS >> data, like a country ouline, with a layer showing rivers and a >> layer showing roads etc. I am not sure what tha view window is >> called.This is where I am trying to drop an icon. I thought, what >> I was seeing in this area was the layers. I am NOT trying to drop >> it on the list of layers or the list of projevts/maps, but the >> actual graphical area. >> The people I am writing this for want to drag images of various >> fish and birds and dwelling etc, onto certain positions on a >> 'map', and they want a layer for each type of icon. So a layer >> showing all hut icons, a layer showing all fish etc. So I created >> a view which actually is in the same set of tabs as the layers >> list, from which they can drag the icons onto the 'map'/graphics >> area. I assumed that these were the ILayers I could drop onto? >> Have I missunderstood? Exactly where are the Layer Objects that >> are accepting the drop? >> Thanks >> Michelle >> >> ________________________________ >> >> From: [EMAIL PROTECTED] on behalf of Jesse >> Eichar >> Sent: Fri 24/02/2006 17:56 >> To: User-friendly Desktop Internet GIS >> Subject: Re: [udig-devel] Drag and Drop and beyond. >> >> >> A few possibilities: >> >> 1. Are you dropping it onto a layer in the Layers View or Project >> Explorer? You can't drop it on the map because it is a map not a >> Layer. >> 2. Are you sure that the objects in the table are Image objects? >> >> Those are the main things from off the top of my head. >> Jesse >> >> M.S.Bachler wrote: >> OK, >> I tried your suggestions, but am still not getting the drop >> class even enstatiated or the accept method called etc. >> I am new to Eclipse and uDig programming so am probably doing >> something really stupid. >> My extension is now: >> >> <extension point="net.refractions.udig.ui.dropAction"> >> <action class="info.ecosensus.udig.actions.IconDropAction" >> name="Icon Drag And Drop"> >> <destination class="net.refractions.udig.project.ILayer"/> >> <acceptedType class="org.eclipse.swt.graphics.Image"/> >> </action> </extension> >> The method that creates a table in the tabbed pane in my view >> class is: >> private TableViewer createTable(TabFolder folder, UIIconGroup >> oIconGroup) { >> TabFolder tabFolder = folder; Table table = new >> Table(tabFolder, SWT.NONE); TableViewer viewer = new >> TableViewer(table); >> >> >> UDIGDragDropUtilities.addDragSupport(viewer); >> table.setBounds(new org.eclipse.swt.graphics.Rectangle >> (0,0,258,460)); TableColumn column = new TableColumn >> (table, SWT.LEFT); >> column.setText("Icon"); >> column.setWidth(65); >> TableColumn column2 = new TableColumn(table, SWT.LEFT); >> column2.setText("Name"); >> column2.setWidth(150); >> table.setHeaderVisible(true); >> table.setLinesVisible(true); >> Vector vtItems = oIconGroup.getItems(); >> vtItems = UIUtilities.sortList(vtItems); int count = >> vtItems.size(); >> UIIconItem oItem = null; >> TableItem oTableItem = null; for (int i=0; i<count; i++) { >> oItem = (UIIconItem)vtItems.elementAt(i); >> oTableItem = new TableItem(table, SWT.LEFT, i); >> oTableItem.setData(oItem); >> oTableItem.setImage(0, oItem.getImage()); // An >> org.eclipse.swt.graphics.Image >> oTableItem.setText(1, oItem.getName()); } >> return viewer; >> } Can you spot what I am doing wrong to break the drop? >> Thanks for your help. >> Michelle >> >> -----Original Message----- >> From: [EMAIL PROTECTED] [mailto:udig- >> [EMAIL PROTECTED] On Behalf Of Jesse Eichar >> Sent: 23 February 2006 17:40 >> To: User-friendly Desktop Internet GIS >> Subject: Re: [udig-devel] Drag and Drop and beyond. >> >> >> To add drag and drop to a viewer so that it can properly >> integrate with uDig use the UDIGDragDropUtilities.addDragSupport >> (viewer). This will make it so you can drop what ever your table >> contains. So for example if your table contains Image objects >> then image objects will be dragged from your view. For a >> DropAction to work the accepted type must be the object dragged >> from the viewer. IE Images. >> >> Jesse >> >> >> M.S.Bachler wrote: >> Hi! >> >> Did this get fixed? (see email below) >> >> I still can't get my string to be accepted on the drop. >> >> The dragStart and dragSourceData methods in the DragListener on >> the >> source object get called fine. >> But the accept method of the Drop class never gets called. >> (Not even the construtor of the Drop class seems to get called!). >> Not sure if it is something I am doing wrong. >> >> The extension code I have is: >> >> <extension point="net.refractions.udig.ui.dropAction"> >> <action >> class="info.ecosensus.udig.actions.IconDropAction" >> name="Icon Drag And Drop"> >> <destination >> class="net.refractions.udig.project.ILayer"/> >> <acceptedType class="org.eclipse.swt.widgets.Table"/> >> >> </action> </extension> >> >> (was not sure what the accetedType should be. I have tried various >> things) >> >> I have attached the IconDropAction class (drop) and the >> IconView class >> (drag source) >> >> Any ideas? >> >> Michelle >> >> -----Original Message----- >> From: [EMAIL PROTECTED] <mailto:udig- >> [EMAIL PROTECTED]> [mailto:udig-devel- >> [EMAIL PROTECTED] <mailto:udig-devel- >> [EMAIL PROTECTED]> ] On Behalf Of Jesse >> Eichar >> Sent: 02 November 2005 17:50 >> To: User-friendly Desktop Internet GIS >> Subject: Re: [udig-devel] Drag and Drop and beyond. >> >> >> Hmmm. It isn't the SLDDropAction that is consuming the event >> it sounds like the WizardDropAction is consuming the event. I >> think you may have found a bug. I'm looking at the code and it >> seems to always accept the string regardless of whether it can >> understand it. That said I'm not sure why your extension is >> not being called. As far as I know the code does not consume >> the data. All the actions that are valid should be >> ran. >> >> Have you put a break point in the accept method to see if it is >> being called? >> Jesse >> >> M.S.Bachler wrote: >> >> >> 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:udig- >> [EMAIL PROTECTED]> [mailto:udig-devel- >> [EMAIL PROTECTED] <mailto:udig-devel- >> [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://udig.refractions.net> http:// >> lists.refractions.net/mailman/listinfo/udig-devel <http:// >> lists.refractions.net/mailman/listinfo/udig-devel> >> _______________________________________________ >> User-friendly Desktop Internet GIS (uDig) http:// >> udig.refractions.net <http://udig.refractions.net> http:// >> lists.refractions.net/mailman/listinfo/udig-devel <http:// >> lists.refractions.net/mailman/listinfo/udig-devel> >> >> _______________________________________________ >> User-friendly Desktop Internet GIS (uDig) http:// >> udig.refractions.net <http://udig.refractions.net> http:// >> lists.refractions.net/mailman/listinfo/udig-devel <http:// >> lists.refractions.net/mailman/listinfo/udig-devel> >> ________________________________ >> >> >> _______________________________________________ >> User-friendly Desktop Internet GIS (uDig) >> http://udig.refractions.net <http://udig.refractions.net> >> http://lists.refractions.net/mailman/listinfo/udig-devel <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 >> >> >> >> --------------------------------------------------------------------- >> --- >> >> _______________________________________________ >> 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 _______________________________________________ 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
