You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by Philippe GIL <ph...@itris.fr> on 2003/09/03 14:36:46 UTC

Re: Finding an Element (Node) in the DOM with an X Y coordinatefroma MouseEvent

Bonjour Paul,

Thanks for your code. You are using SWT_AWT class. Does it still
experimental and only for win32?

That's working code when the JSVGCanvas is added to a JPanel;

addEventListener is called for each svg element you need to get inputs
getCurrentTarget returns the "clicked" Element.
This code is thead-safe in case your mouse action need to update the
DOM.


		EventListener onClick = new OnClickAction();

		    EventTarget t;
		    		    
		    t = (EventTarget)(svgCanvas.getSVGDocument().
						getElementById(svgid));
		    
		    // Adds a 'onclick' listener
		    t.addEventListener("click", onClick, false);




    public class OnClickAction implements EventListener, Runnable {
	Event evt;

	public void handleEvent(Event evt) {
	    this.evt = evt;

	    if (Thread.currentThread() == svgCanvas.getUpdateManager().
						getUpdateRunnableQueue().getThread()){ 		Element elt;
	    
		elt = (Element)(evt.getCurrentTarget());
		if (elt != null) {
	    		String svgid = elt.getAttribute("id");
			//etc...
		}
	    }  	    
	    else {
		try {
		    svgCanvas.getUpdateManager().
			getUpdateRunnableQueue().invokeLater (this);
		}
		catch (Exception e) {
		    e.printStackTrace();
		}
	    }
	}

        public void run() {
		handleEvent(evt);
        }    

Amicalement
philippe

Le mer 03/09/2003 à 11:19, Paul Sinnema a écrit :
> Philippe,
> 
> All the SVG handling is done by batik.
> I've inserted the JSVGCanvas in the view (still have a flicker problem during drawing, I think it's because the JSVGCanvas is added to an SWT panel which is also redrawn).
> 
> Since this morning I've got the following code working. If this is the correct way to do things, I then need to know how to get the DOM Node or Element from the Event!
> 
>  private static final String MOUSE_CLICK= "click";
>  private static final String MOUSE_MOVE= "mousemove";
>  private static final String MOUSE_DOWN= "mousedown";
>  private static final String MOUSE_UP= "mouseup";
> 
>  private void handleMyEvent(Event event)
>  {
>   EventTarget et= event.getTarget();
> 
>   setTitleText(
>    " Type = "
>     + event.getType()
>     + " Phase = "
>     + event.getEventPhase()
>     + " Current target = "
>     + et.getClass()
>     + " Timestamp = "
>     + event.getTimeStamp());
>  }
> 
>  public void createPartControl(final Composite parent)
>  {
>   try
>   {
>    svgCanvas= new JSVGCanvas(new MyUserAgent(), true, true);
>    svgCanvas.setDoubleBuffered(true);
>    svgCanvas.setDoubleBufferedRendering(true);
>    svgCanvas.addSVGLoadEventDispatcherListener(new SVGLoadEventDispatcherListener()
>    {
> 
>     public void svgLoadEventDispatchStarted(SVGLoadEventDispatcherEvent arg0)
>     {
>      // setTitleText("svgLoadEventDispatchStarted");
>     }
> 
>     public void svgLoadEventDispatchCompleted(SVGLoadEventDispatcherEvent arg0)
>     {
>      SVGSVGElement root= svgCanvas.getSVGDocument().getRootElement();
>      root.addEventListener(MOUSE_CLICK, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>      root.addEventListener(MOUSE_MOVE, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>      root.addEventListener(MOUSE_DOWN, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>      root.addEventListener(MOUSE_UP, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>     }
> 
>     public void svgLoadEventDispatchCancelled(SVGLoadEventDispatcherEvent arg0)
>     {
>      // setTitleText("svgLoadEventDispatchCancelled");
>     }
> 
>     public void svgLoadEventDispatchFailed(SVGLoadEventDispatcherEvent arg0)
>     {
>      // setTitleText("svgLoadEventDispatchFailed");
>     }
>    });
>    awtPanel= SWT_AWT.new_Panel(parent);
>    awtPanel.setLayout(new BorderLayout());
>    awtPanel.add("Center", svgCanvas);
>    shell= getViewSite().getShell();
> 
>    createActions();
>   } catch (Throwable t)
>   {
>    t.printStackTrace();
>   }
> 
>   getViewSite().getPage().addSelectionListener(this);
>  }
> 
> Paul.
> 
> ----- Original Message ----- 
> From: "Philippe GIL" <ph...@itris.fr>
> To: "Paul Sinnema" <pa...@paulsinnema.com>
> Sent: Wednesday, September 03, 2003 10:37 AM
> Subject: Re: Finding an Element (Node) in the DOM with an X Y coordinatefroma MouseEvent
> 
> 
> > Bonjour Paul,
> > 
> > I can't still figure how you use batik under eclipse?
> > 
> > What part of the SVG handling is managed by batik?
> > How do you display SVG content inside your view? Do you parse the batik
> > GVT making your own GVT to screen bridge? Do you generate a bitmap with
> > batik to display it later in your view. Do you insert an JSVGCanvas in
> > your view?
> > The solution of your problem will probably depend on it.
> > 
> > Amicalement
> > Philippe
> 
> Le mer 03/09/2003 à 09:47, Paul Sinnema a écrit :
> > Philippe,
> > 
> > I'm currently building an Eclipse 'View' (yes it's the Open Source Project
> > you are referring to) to display and manipulate SVG. The intent is to build
> > an UML Class Diagram which in turn will create an XML that can be
> > transformed to an XMI with EMF in Eclipse. From there we are able to
> > generate code for several applications (JAVA, DOTNet, C++....). All the
> > code, for the view, is created by me (with a little help of Eclipse and of
> > course I've looked at other applications and copied where possible).
> > 
> > Paul.
> > 
> > ----- Original Message ----- 
> > From: "Philippe GIL" <ph...@itris.fr>
> > To: "Paul Sinnema" <pa...@paulsinnema.com>
> > Sent: Wednesday, September 03, 2003 9:28 AM
> > Subject: Re: Finding an Element (Node) in the DOM with an X Y coordinatefrom
> > a MouseEvent
> > 
> > 
> > Bonjour Paul,
> > 
> > I have some questions regarding your mail.
> > 
> > Does Eclipse mean the IBM open source project? (http://www.eclipse.org/)
> > Are you displaying SVG files inside Eclipse plugins (views or editors)?
> > What plugin are you using to display the SVG content, Java Advanced
> > Imaging over holongate Batik support (http://www.holongate.org/), Dirk
> > Lemmerman's Batik SVG Viewer
> > (http://www.eclipse-workbench.com/jsp/plugin_detail.jsp?id=139&cat=27)
> > or another way?
> > 
> > The project I'm working on, need to edit SVG file under Eclipse
> > run-time.
> > 
> > Amicalement
> > Philippe
> > 
> > 
> > Le mar 02/09/2003 à 15:21, Paul Sinnema a écrit :
> > > Hi,
> > >
> > > I've been struggling with several issues using Batik as the main display
> > for an new UML Class Diagram in Eclipse. I've solved several of the issues,
> > but I'm kinda stuck right now.
> > >
> > > In my 'view' I use an Interactor to get actions from the mouse (click,
> > press, etc...). I would like to be able to drag a <g> from one place to
> > another (make it topped, resize, etc....) for that I need to know which
> > element in the DOM tree was clicked, dragged, etc....
> > >
> > > Has anyone got any experience with this?
> > >
> > > Paul.
> > 
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
> > For additional commands, e-mail: batik-dev-help@xml.apache.org
> > 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: batik-dev-help@xml.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org


Re: Finding an Element (Node) in the DOM with an X Y coordinatefroma MouseEvent

Posted by Thomas DeWeese <Th...@Kodak.com>.
Philippe GIL wrote:
> Bonjour Paul,
> 
> Thanks for your code. You are using SWT_AWT class. Does it still
> experimental and only for win32?
> 
> That's working code when the JSVGCanvas is added to a JPanel;
> 
> addEventListener is called for each svg element you need to get inputs
> getCurrentTarget returns the "clicked" Element.
> This code is thead-safe in case your mouse action need to update the
> DOM.

Hi Pilippe,

     I appreciate your taking our stern warnings about always modifying the
DOM in the update manager thread to heart.  However you can rest assure that if
Batik calls an event listener it will be called in the Update Manager Thread
(unless someone, hopefully from outside Batik, mistakenly dispatches an event
to the DOM from another thread).

     Thanks for taking the time to post this nice example!

>     public class OnClickAction implements EventListener, Runnable {
> 	Event evt;
> 
> 	public void handleEvent(Event evt) {
> 	    this.evt = evt;
> 
> 	    if (Thread.currentThread() == svgCanvas.getUpdateManager().
> 						getUpdateRunnableQueue().getThread()){ 		Element elt;
> 	    
> 		elt = (Element)(evt.getCurrentTarget());
> 		if (elt != null) {
> 	    		String svgid = elt.getAttribute("id");
> 			//etc...
> 		}
> 	    }  	    
> 	    else {
> 		try {
> 		    svgCanvas.getUpdateManager().
> 			getUpdateRunnableQueue().invokeLater (this);
> 		}
> 		catch (Exception e) {
> 		    e.printStackTrace();
> 		}
> 	    }
> 	}
> 
>         public void run() {
> 		handleEvent(evt);
>         }    
> 
> Amicalement
> philippe
> 
> Le mer 03/09/2003 à 11:19, Paul Sinnema a écrit :
> 
>>Philippe,
>>
>>All the SVG handling is done by batik.
>>I've inserted the JSVGCanvas in the view (still have a flicker problem during drawing, I think it's because the JSVGCanvas is added to an SWT panel which is also redrawn).
>>
>>Since this morning I've got the following code working. If this is the correct way to do things, I then need to know how to get the DOM Node or Element from the Event!
>>
>> private static final String MOUSE_CLICK= "click";
>> private static final String MOUSE_MOVE= "mousemove";
>> private static final String MOUSE_DOWN= "mousedown";
>> private static final String MOUSE_UP= "mouseup";
>>
>> private void handleMyEvent(Event event)
>> {
>>  EventTarget et= event.getTarget();
>>
>>  setTitleText(
>>   " Type = "
>>    + event.getType()
>>    + " Phase = "
>>    + event.getEventPhase()
>>    + " Current target = "
>>    + et.getClass()
>>    + " Timestamp = "
>>    + event.getTimeStamp());
>> }
>>
>> public void createPartControl(final Composite parent)
>> {
>>  try
>>  {
>>   svgCanvas= new JSVGCanvas(new MyUserAgent(), true, true);
>>   svgCanvas.setDoubleBuffered(true);
>>   svgCanvas.setDoubleBufferedRendering(true);
>>   svgCanvas.addSVGLoadEventDispatcherListener(new SVGLoadEventDispatcherListener()
>>   {
>>
>>    public void svgLoadEventDispatchStarted(SVGLoadEventDispatcherEvent arg0)
>>    {
>>     // setTitleText("svgLoadEventDispatchStarted");
>>    }
>>
>>    public void svgLoadEventDispatchCompleted(SVGLoadEventDispatcherEvent arg0)
>>    {
>>     SVGSVGElement root= svgCanvas.getSVGDocument().getRootElement();
>>     root.addEventListener(MOUSE_CLICK, new EventListener()
>>     {
>>      public void handleEvent(Event arg0)
>>      {
>>       handleMyEvent(arg0);
>>      }
>>     }, true);
>>     root.addEventListener(MOUSE_MOVE, new EventListener()
>>     {
>>      public void handleEvent(Event arg0)
>>      {
>>       handleMyEvent(arg0);
>>      }
>>     }, true);
>>     root.addEventListener(MOUSE_DOWN, new EventListener()
>>     {
>>      public void handleEvent(Event arg0)
>>      {
>>       handleMyEvent(arg0);
>>      }
>>     }, true);
>>     root.addEventListener(MOUSE_UP, new EventListener()
>>     {
>>      public void handleEvent(Event arg0)
>>      {
>>       handleMyEvent(arg0);
>>      }
>>     }, true);
>>    }
>>
>>    public void svgLoadEventDispatchCancelled(SVGLoadEventDispatcherEvent arg0)
>>    {
>>     // setTitleText("svgLoadEventDispatchCancelled");
>>    }
>>
>>    public void svgLoadEventDispatchFailed(SVGLoadEventDispatcherEvent arg0)
>>    {
>>     // setTitleText("svgLoadEventDispatchFailed");
>>    }
>>   });
>>   awtPanel= SWT_AWT.new_Panel(parent);
>>   awtPanel.setLayout(new BorderLayout());
>>   awtPanel.add("Center", svgCanvas);
>>   shell= getViewSite().getShell();
>>
>>   createActions();
>>  } catch (Throwable t)
>>  {
>>   t.printStackTrace();
>>  }
>>
>>  getViewSite().getPage().addSelectionListener(this);
>> }
>>
>>Paul.
>>
>>----- Original Message ----- 
>>From: "Philippe GIL" <ph...@itris.fr>
>>To: "Paul Sinnema" <pa...@paulsinnema.com>
>>Sent: Wednesday, September 03, 2003 10:37 AM
>>Subject: Re: Finding an Element (Node) in the DOM with an X Y coordinatefroma MouseEvent
>>
>>
>>
>>>Bonjour Paul,
>>>
>>>I can't still figure how you use batik under eclipse?
>>>
>>>What part of the SVG handling is managed by batik?
>>>How do you display SVG content inside your view? Do you parse the batik
>>>GVT making your own GVT to screen bridge? Do you generate a bitmap with
>>>batik to display it later in your view. Do you insert an JSVGCanvas in
>>>your view?
>>>The solution of your problem will probably depend on it.
>>>
>>>Amicalement
>>>Philippe
>>
>>Le mer 03/09/2003 à 09:47, Paul Sinnema a écrit :
>>
>>>Philippe,
>>>
>>>I'm currently building an Eclipse 'View' (yes it's the Open Source Project
>>>you are referring to) to display and manipulate SVG. The intent is to build
>>>an UML Class Diagram which in turn will create an XML that can be
>>>transformed to an XMI with EMF in Eclipse. From there we are able to
>>>generate code for several applications (JAVA, DOTNet, C++....). All the
>>>code, for the view, is created by me (with a little help of Eclipse and of
>>>course I've looked at other applications and copied where possible).
>>>
>>>Paul.
>>>
>>>----- Original Message ----- 
>>>From: "Philippe GIL" <ph...@itris.fr>
>>>To: "Paul Sinnema" <pa...@paulsinnema.com>
>>>Sent: Wednesday, September 03, 2003 9:28 AM
>>>Subject: Re: Finding an Element (Node) in the DOM with an X Y coordinatefrom
>>>a MouseEvent
>>>
>>>
>>>Bonjour Paul,
>>>
>>>I have some questions regarding your mail.
>>>
>>>Does Eclipse mean the IBM open source project? (http://www.eclipse.org/)
>>>Are you displaying SVG files inside Eclipse plugins (views or editors)?
>>>What plugin are you using to display the SVG content, Java Advanced
>>>Imaging over holongate Batik support (http://www.holongate.org/), Dirk
>>>Lemmerman's Batik SVG Viewer
>>>(http://www.eclipse-workbench.com/jsp/plugin_detail.jsp?id=139&cat=27)
>>>or another way?
>>>
>>>The project I'm working on, need to edit SVG file under Eclipse
>>>run-time.
>>>
>>>Amicalement
>>>Philippe
>>>
>>>
>>>Le mar 02/09/2003 à 15:21, Paul Sinnema a écrit :
>>>
>>>>Hi,
>>>>
>>>>I've been struggling with several issues using Batik as the main display
>>>
>>>for an new UML Class Diagram in Eclipse. I've solved several of the issues,
>>>but I'm kinda stuck right now.
>>>
>>>>In my 'view' I use an Interactor to get actions from the mouse (click,
>>>
>>>press, etc...). I would like to be able to drag a <g> from one place to
>>>another (make it topped, resize, etc....) for that I need to know which
>>>element in the DOM tree was clicked, dragged, etc....
>>>
>>>>Has anyone got any experience with this?
>>>>
>>>>Paul.
>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
>>>For additional commands, e-mail: batik-dev-help@xml.apache.org
>>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
>>For additional commands, e-mail: batik-dev-help@xml.apache.org
>>
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: batik-dev-help@xml.apache.org
> 
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org


Re: Finding an Element (Node) in the DOM with an X Y coordinatefroma MouseEvent

Posted by Thomas DeWeese <Th...@Kodak.com>.
Philippe GIL wrote:
> Bonjour Paul,
> 
> Thanks for your code. You are using SWT_AWT class. Does it still
> experimental and only for win32?
> 
> That's working code when the JSVGCanvas is added to a JPanel;
> 
> addEventListener is called for each svg element you need to get inputs
> getCurrentTarget returns the "clicked" Element.

Actually getCurrentTarget is the element the event listener is registered
on.  getTarget() is the element that the user clicked on.  To understand
why there are both you need to understand DOM event dispatching -
all events travel from the root of the document to the element
receiving the event (the element 'clicked on'), this phase is called event capture.
As the event propagates it calls any event listeners that are registered with
'true' as the third parameter.  Then all listeners on the element receiving the
event are called.  Then the event 'bubbles' back to the root of the document
tree, calling any listeners that are registered with 'false' as the third
parameter (this is also when onXXX event attributes are dispatched).

This way you can register one event listener on the root of the SVG tree and
receive essentially all events in the DOM tree, (you can also do this for
a subgroup and just get events from that subtree) and you can tell what element
was clicked by checking the getTarget() function.

> 		EventListener onClick = new OnClickAction();
> 
> 		    EventTarget t;
> 		    		    
> 		    t = (EventTarget)(svgCanvas.getSVGDocument().
> 						getElementById(svgid));
> 		    
> 		    // Adds a 'onclick' listener
> 		    t.addEventListener("click", onClick, false);

	This registers 'onClick' to recieve events during the 'bubbling' phase.



---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org


RE: Finding an Element (Node) in the DOM with an X Ycoordinatefroma MouseEvent

Posted by Paul Sinnema <pa...@paulsinnema.com>.
Philippe,

Thanks for the input. I, quite suddenly, had to go to a customer this
afternoon. I haven't been able to try the example yet. I will try it
tomorrow morning (eurpean time).

Paul.

-----Original Message-----
From: Philippe GIL [mailto:philippe.gil@itris.fr] 
Sent: woensdag 3 september 2003 14:37
To: batik-dev@xml.apache.org
Subject: Re: Finding an Element (Node) in the DOM with an X
Ycoordinatefroma MouseEvent


Bonjour Paul,

Thanks for your code. You are using SWT_AWT class. Does it still
experimental and only for win32?

That's working code when the JSVGCanvas is added to a JPanel;

addEventListener is called for each svg element you need to get inputs
getCurrentTarget returns the "clicked" Element. This code is thead-safe
in case your mouse action need to update the DOM.


		EventListener onClick = new OnClickAction();

		    EventTarget t;
		    		    
		    t = (EventTarget)(svgCanvas.getSVGDocument().
						getElementById(svgid));
		    
		    // Adds a 'onclick' listener
		    t.addEventListener("click", onClick, false);




    public class OnClickAction implements EventListener, Runnable {
	Event evt;

	public void handleEvent(Event evt) {
	    this.evt = evt;

	    if (Thread.currentThread() == svgCanvas.getUpdateManager().
	
getUpdateRunnableQueue().getThread()){ 		Element elt;
	    
		elt = (Element)(evt.getCurrentTarget());
		if (elt != null) {
	    		String svgid = elt.getAttribute("id");
			//etc...
		}
	    }  	    
	    else {
		try {
		    svgCanvas.getUpdateManager().
			getUpdateRunnableQueue().invokeLater (this);
		}
		catch (Exception e) {
		    e.printStackTrace();
		}
	    }
	}

        public void run() {
		handleEvent(evt);
        }    

Amicalement
philippe

Le mer 03/09/2003 à 11:19, Paul Sinnema a écrit :
> Philippe,
> 
> All the SVG handling is done by batik.
> I've inserted the JSVGCanvas in the view (still have a flicker problem

> during drawing, I think it's because the JSVGCanvas is added to an SWT

> panel which is also redrawn).
> 
> Since this morning I've got the following code working. If this is the

> correct way to do things, I then need to know how to get the DOM Node 
> or Element from the Event!
> 
>  private static final String MOUSE_CLICK= "click";
>  private static final String MOUSE_MOVE= "mousemove";
>  private static final String MOUSE_DOWN= "mousedown";
>  private static final String MOUSE_UP= "mouseup";
> 
>  private void handleMyEvent(Event event)
>  {
>   EventTarget et= event.getTarget();
> 
>   setTitleText(
>    " Type = "
>     + event.getType()
>     + " Phase = "
>     + event.getEventPhase()
>     + " Current target = "
>     + et.getClass()
>     + " Timestamp = "
>     + event.getTimeStamp());
>  }
> 
>  public void createPartControl(final Composite parent)
>  {
>   try
>   {
>    svgCanvas= new JSVGCanvas(new MyUserAgent(), true, true);
>    svgCanvas.setDoubleBuffered(true);
>    svgCanvas.setDoubleBufferedRendering(true);
>    svgCanvas.addSVGLoadEventDispatcherListener(new
SVGLoadEventDispatcherListener()
>    {
> 
>     public void
svgLoadEventDispatchStarted(SVGLoadEventDispatcherEvent arg0)
>     {
>      // setTitleText("svgLoadEventDispatchStarted");
>     }
> 
>     public void
svgLoadEventDispatchCompleted(SVGLoadEventDispatcherEvent arg0)
>     {
>      SVGSVGElement root= svgCanvas.getSVGDocument().getRootElement();
>      root.addEventListener(MOUSE_CLICK, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>      root.addEventListener(MOUSE_MOVE, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>      root.addEventListener(MOUSE_DOWN, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>      root.addEventListener(MOUSE_UP, new EventListener()
>      {
>       public void handleEvent(Event arg0)
>       {
>        handleMyEvent(arg0);
>       }
>      }, true);
>     }
> 
>     public void
svgLoadEventDispatchCancelled(SVGLoadEventDispatcherEvent arg0)
>     {
>      // setTitleText("svgLoadEventDispatchCancelled");
>     }
> 
>     public void svgLoadEventDispatchFailed(SVGLoadEventDispatcherEvent
arg0)
>     {
>      // setTitleText("svgLoadEventDispatchFailed");
>     }
>    });
>    awtPanel= SWT_AWT.new_Panel(parent);
>    awtPanel.setLayout(new BorderLayout());
>    awtPanel.add("Center", svgCanvas);
>    shell= getViewSite().getShell();
> 
>    createActions();
>   } catch (Throwable t)
>   {
>    t.printStackTrace();
>   }
> 
>   getViewSite().getPage().addSelectionListener(this);
>  }
> 
> Paul.
> 
> ----- Original Message -----
> From: "Philippe GIL" <ph...@itris.fr>
> To: "Paul Sinnema" <pa...@paulsinnema.com>
> Sent: Wednesday, September 03, 2003 10:37 AM
> Subject: Re: Finding an Element (Node) in the DOM with an X Y
coordinatefroma MouseEvent
> 
> 
> > Bonjour Paul,
> > 
> > I can't still figure how you use batik under eclipse?
> > 
> > What part of the SVG handling is managed by batik?
> > How do you display SVG content inside your view? Do you parse the 
> > batik GVT making your own GVT to screen bridge? Do you generate a 
> > bitmap with batik to display it later in your view. Do you insert an

> > JSVGCanvas in your view? The solution of your problem will probably 
> > depend on it.
> > 
> > Amicalement
> > Philippe
> 
> Le mer 03/09/2003 à 09:47, Paul Sinnema a écrit :
> > Philippe,
> > 
> > I'm currently building an Eclipse 'View' (yes it's the Open Source 
> > Project you are referring to) to display and manipulate SVG. The 
> > intent is to build an UML Class Diagram which in turn will create an

> > XML that can be transformed to an XMI with EMF in Eclipse. From 
> > there we are able to generate code for several applications (JAVA, 
> > DOTNet, C++....). All the code, for the view, is created by me (with

> > a little help of Eclipse and of course I've looked at other 
> > applications and copied where possible).
> > 
> > Paul.
> > 
> > ----- Original Message -----
> > From: "Philippe GIL" <ph...@itris.fr>
> > To: "Paul Sinnema" <pa...@paulsinnema.com>
> > Sent: Wednesday, September 03, 2003 9:28 AM
> > Subject: Re: Finding an Element (Node) in the DOM with an X Y
coordinatefrom
> > a MouseEvent
> > 
> > 
> > Bonjour Paul,
> > 
> > I have some questions regarding your mail.
> > 
> > Does Eclipse mean the IBM open source project? 
> > (http://www.eclipse.org/) Are you displaying SVG files inside 
> > Eclipse plugins (views or editors)? What plugin are you using to 
> > display the SVG content, Java Advanced Imaging over holongate Batik 
> > support (http://www.holongate.org/), Dirk Lemmerman's Batik SVG 
> > Viewer
> >
(http://www.eclipse-workbench.com/jsp/plugin_detail.jsp?id=139&cat=27)
> > or another way?
> > 
> > The project I'm working on, need to edit SVG file under Eclipse 
> > run-time.
> > 
> > Amicalement
> > Philippe
> > 
> > 
> > Le mar 02/09/2003 à 15:21, Paul Sinnema a écrit :
> > > Hi,
> > >
> > > I've been struggling with several issues using Batik as the main 
> > > display
> > for an new UML Class Diagram in Eclipse. I've solved several of the 
> > issues, but I'm kinda stuck right now.
> > >
> > > In my 'view' I use an Interactor to get actions from the mouse 
> > > (click,
> > press, etc...). I would like to be able to drag a <g> from one place

> > to another (make it topped, resize, etc....) for that I need to know

> > which element in the DOM tree was clicked, dragged, etc....
> > >
> > > Has anyone got any experience with this?
> > >
> > > Paul.
> > 
> > 
> > 
> > 
> > --------------------------------------------------------------------
> > -
> > To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
> > For additional commands, e-mail: batik-dev-help@xml.apache.org
> > 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: batik-dev-help@xml.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org


---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12-08-2003
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.509 / Virus Database: 306 - Release Date: 12-08-2003
 


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org