Well, now you can attach an event listener. Now you need to figure out what you want to do with it. When the mouse is pressed, you can do anything...show a dialog box, etc.
Michael Bishop -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, February 27, 2006 3:31 PM To: [email protected] Subject: RE: Red Spots ...So, in the: e.setAttributeNS(null, "r", "5"); I can add all the relevant information about the accident? thx yasmin > Hi Yasmin, > > [EMAIL PROTECTED] wrote on 02/27/2006 01:26:07 PM: > >> yes, it does but how does that work? > > Assuming there is no 'obvious' dynamic content in the > SVG file already (script, event handlers, etc). You need > to tell the canvas to treat your document as dynamic: > > canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); > > // Do what ever you curently do to load your SVG and get > // a list of points for circles. > // Once the document is loaded (onload callback or > // wait for first rendering): > > canvas.getUpdateManager().getUpdateRunnableQueue(). > invokeLater(new Runnable() { > public void run() { > SVGDocuemnt doc = canvas.getSVGDocument(); > String SVGNS = "http://www.w3.org/2000/svg"; // SVG namespace > Iterator i = ...; // get list of points > Element g = doc.getElementById("circleGroup"); > while (i.hasNext()) { > Point2D pt2d = i.next(); > Element e = doc.createElementNS(SVGNS, "circle"); > e.setAttributeNS(null, "cx", ""+pt2d.getX()); > e.setAttributeNS(null, "cy", ""+pt2d.getY()); > e.setAttributeNS(null, "r", "5"); > g.appendChild(g); > } > }); > >> >> >> >> > Well you're not adding them to a document in the file system, but the >> > JSVGCanvas certainly has a reference to an SVGDocument in memory, > right? >> > >> > Michael Bishop >> > >> > -----Original Message----- >> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] >> > Sent: Monday, February 27, 2006 1:18 PM >> > To: [email protected] >> > Subject: RE: Red Spots >> > >> > Hi there! >> > >> > I can't make the spots part of the document, because they are drawn >> > after >> > getting the information from a database (Accident database) ...is > there >> > a >> > way when a mouse clicks on any of the spots to activate an event? >> > >> > ThankU >> > >> > yasmin >> > >> > >> > >> > >> > >> >> Hi Yasmin, >> >> >> >> [EMAIL PROTECTED] wrote on 02/27/2006 12:42:09 PM: >> >> >> >>> ...I've drawn the circles on the canvas, they are not part of my svg >> >>> document such that the actual file is not altered, the the circles >> > are >> >> not >> >>> individual elements - any ideas :( >> >> >> >> Yes, make them part of your document ;) >> >> Really this is the simplest thing. If you want to minimize the >> >> 'impact' on the original document put all the circle in a special >> > group >> >> (probably dynamically created) so you can just delete the group to >> > 'reset' >> >> the document. This way you can let the SVG engine do all the event >> >> tracking. >> >> >> >> You could add an event listener (mouse move or the like) to the >> >> rootmost SVG element and you will get notified of any mouse event >> >> over any element in the document. You could then manually check > these >> >> points against your circles. But this seems like a bunch of extra >> > work >> >> for nothing. >> >> >> >>> >> >>> yasmin >> >>> >> >>> >> >>> > Hello, >> >>> > For events, I attach an event to the entire document. For >> >>> > individual elements, this may work. You'll need to get your > circle >> > as >> >>> > an org.w3c.dom.Element. >> >>> > >> >>> > EventTarget eventTarget = (EventTarget) yourElement; >> >>> > eventTarget.addEventListener(SVGConstants.SVG_EVENT_MOUSEDOWN, new >> >>> > YourEventListener(), false); >> >>> > >> >>> > Michael Bishop >> >>> > >> >>> > -----Original Message----- >> >>> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] >> >>> > Sent: Monday, February 27, 2006 12:13 PM >> >>> > To: [email protected] >> >>> > Subject: Red Spots >> >>> > >> >>> > >> >>> > Hi Michael Bishop, >> >>> > >> >>> > I have been beavering on my project and have successfully > converted >> > my >> >>> > screen coordinates to documents and can interact with my database >> > to >> >>> > retrieve the information for the current view and show red spots > on >> >> the >> >>> > areas where accidents have happend on the map ...now I need to > make >> >> the >> >>> > red spots active so when a user clicks on a red spot the relevant >> >>> > information about that particular accident is displayed ...i > simply >> >> used >> >>> > the following code to create the red spot: >> >>> > >> >>> > Graphics spot = canvas.getGraphics(); >> >>> > spot.setColor(Color.RED); >> >>> > spot.fillOval(x,y,22,22); >> >>> > spot.dispose(); >> >>> > >> >>> > but i cant assign an ActionEvent to the spot ...Any ideas? >> >>> > >> >>> > Many thanks in advance :) >> >>> > >> >>> > Yasmin >> >>> > >> >>> > >> >>> > >> >>> > >> >>> >> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> >> >>> >> <HTML> >> >>> >> <HEAD> >> >>> >> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; >> >>> > charset=iso-8859-1"> >> >>> >> >> >>> >> >> >>> >> <META NAME="Generator" CONTENT="MS Exchange Server version >> >>> > 6.5.7226.0"> >> >>> >> <TITLE>RE: Coordinates</TITLE> >> >>> >> </HEAD> >> >>> >> <BODY> >> >>> >> <DIV id=idOWAReplyText99836 dir=ltr> >> >>> >> <DIV dir=ltr><FONT face=Arial color=#000000 size=2>Element > element >> >> >> >>> >> >> > svgDocument.createElement(SVGConstants.SVG_CIRCLE_TAG);</FONT></DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_CX_ATTR, >> >>> >> xPosition);</FONT></DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_CY_ATTR, >> >>> >> yPosition);</FONT></DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_R_ATTR, >> >>> > radius);</FONT></DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_FILL_ATTR, >> >>> >> "red");</FONT></DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial >> >>> >> >> > size=2>svgDocument.getDocumentElement.append(element);</FONT></DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2>Use code completion or the >> > Batik >> >>> >> Javadoc. Most of those SVGConstants references are probably >> >>> >> wrong.</FONT></DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2>Michael >> >> Bishop</FONT></DIV></DIV> >> >>> >> <DIV dir=ltr><BR> >> >>> >> <HR tabIndex=-1> >> >>> >> <FONT face=Tahoma size=2><B>From:</B> [EMAIL PROTECTED] >> >>> >> [mailto:[EMAIL PROTECTED]<BR><B>Sent:</B> Sun 2/19/2006 >> > 3:07 >> >>> >> PM<BR><B>To:</B> >> >> [email protected]<BR><B>Subject:</B> >> >>> > RE: >> >>> >> Coordinates<BR></FONT><BR></DIV> >> >>> >> <DIV> >> >>> >> <P><FONT size=2>me again!<BR><BR>...I think I don't need to >> > convert >> >>> > back >> >>> >> to >> >>> >> screen coordinates I should be<BR>able to use the document >> >>> > coordinates, >> >>> >> but how >> >>> >> can I draw a red-spot<BR>(filled circle) and a given location on >> > the >> >>> >> canvas?<BR><BR>ThankU in advance<BR><BR>yasmin<BR><BR>> >> >>> > <!DOCTYPE >> >>> >> HTML >> >>> >> PUBLIC "-//W3C//DTD HTML 3.2//EN"><BR>> > <HTML><BR>> >> >>> >> <HEAD><BR>> <META HTTP-EQUIV="Content-Type" >> >>> >> CONTENT="text/html; >> >>> >> charset=iso-8859-1"><BR>><BR>><BR>> <META >> >>> > NAME="Generator" >> >>> >> CONTENT="MS Exchange Server version 6.5.7226.0"><BR>> >> >>> >> <TITLE>Coordinates</TITLE><BR>> >> > </HEAD><BR>> >> >>> >> <BODY><BR>> <DIV id=idOWAReplyText8269 >> >> dir=ltr><BR>> >> >>> >> <DIV >> >>> >> dir=ltr><FONT face=Arial color=#000000 size=2>Not sure; >> >>> > haven't >> >>> >> done<BR>> it in<BR>> reverse.&nbsp; There is a method >> > for >> >> an >> >>> >> SVGLocatable called getScreenCTM<BR>> that<BR>> may be of >> >>> >> use.</FONT></DIV><BR>> <DIV dir=ltr><FONT >> >>> >> face=Arial >> >>> >> size=2></FONT>&nbsp;</DIV><BR>> <DIV >> >>> >> dir=ltr><FONT face=Arial size=2>Michael >> >>> >> Bishop</FONT></DIV></DIV><BR>> <DIV >> >>> >> dir=ltr><BR><BR>> <HR tabIndex=-1><BR>> >> > <FONT >> >>> >> face=Tahoma size=2><B>From:</B> >> >>> >> [EMAIL PROTECTED]<BR>> >> >>> >> [<A >> >>> >> >> >>> > >> >> >> > > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A> >> >>> > ]<BR><B>Sent:</B> >> >>> >> Sun 2/19/2006 1:08<BR>> PM<BR><B>To:</B> >> >>> >> >> >>> > >> >> >> > > [email protected]<BR><B>Subject:</B>< >> >>> > BR>> >> >>> >> Coordinates<BR></FONT><BR></DIV><BR>> >> >>> >> <DIV><BR>> <P><FONT size=2>Hi Michael >> >>> >> Bishop,<BR><BR>...I've converted my screen<BR>> >> >>> > coordinates >> >>> >> to my >> >>> >> document coordinates - now<BR>I'm trying to convert<BR>> >> >>> >> document<BR>> coordinates to screen coordinate so that >> >>> > at<BR>that >> >>> >> point >> >>> >> on the map, I<BR>> can draw<BR>> a red_spot on the >> > canvas...any >> >>> >> ideas?<BR><BR>ThankU in<BR>> >> >>> >> >> >>> > >> >> >> > > advance<BR><BR>yasmin<BR><BR><BR>--------- >> >>> > >> >> >> > > ------------------------------------------------------------<BR>To >> >>> > <BR>> >> >>> >> unsubscribe, e-mail: >> >>> >> >> > [EMAIL PROTECTED]<BR>For<BR>> >> >>> >> additional >> >>> >> commands, e-mail:<BR>> >> >>> >> >> >>> > >> >> >> > > [EMAIL PROTECTED]<BR></FONT></P> >> >>> > </DIV><BR>><BR>> >> >>> >> </BODY><BR>> >> >>> >> >> >>> > >> >> >> > > </HTML><BR><BR><BR><BR>------------------------------------------- >> >>> > --------------------------<BR>To >> >>> >> unsubscribe, e-mail: >> >>> > [EMAIL PROTECTED]<BR>For >> >>> >> additional commands, e-mail: >> >>> >> [EMAIL PROTECTED]<BR></FONT></P></DIV> >> >>> >> >> >>> >> </BODY> >> >>> >> </HTML> >> >>> > >> >>> > >> >>> > >> >>> > >> > --------------------------------------------------------------------- >> >>> > To unsubscribe, e-mail: >> > [EMAIL PROTECTED] >> >>> > For additional commands, e-mail: >> >> [EMAIL PROTECTED] >> >>> > >> >>> > >> > --------------------------------------------------------------------- >> >>> > To unsubscribe, e-mail: >> > [EMAIL PROTECTED] >> >>> > For additional commands, e-mail: >> >> [EMAIL PROTECTED] >> >>> > >> >>> > >> >>> > >> >>> >> >>> >> >>> >> >>> > --------------------------------------------------------------------- >> >>> To unsubscribe, e-mail: >> > [EMAIL PROTECTED] >> >>> For additional commands, e-mail: >> > [EMAIL PROTECTED] >> >>> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: > [EMAIL PROTECTED] >> >> For additional commands, e-mail: >> > [EMAIL PROTECTED] >> >> >> >> >> >> >> > >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: > [EMAIL PROTECTED] >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: > [EMAIL PROTECTED] >> > >> > >> > >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
