Re: How to manipulate SVG DOM tree: locate items & insert nodes?

"krellksa100" <[email protected]>
Newsgroups gmane.text.xml.svg.devel
Message-ID <[email protected]>
OK, thanks David.

--- In [email protected], "David Dailey" <ddailey@...> wrote:
>
> The SVG Primer at http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html
> explains how to do that sort of thing in JavaScript. I would assume that
> Java methods for manipulating SVG DOM would be similar.
> 
>  
> 
> The Apache Batik project at http://xmlgraphics.apache.org/batik/ probably
> has information a bit more closely matched to your needs.
> 
>  
> 
> Good luck
> 
> David
> 
>  
> 
> From: [email protected] [mailto:[email protected]]
> On Behalf Of krell Krellis
> Sent: Tuesday, May 28, 2013 12:56 PM
> To: [email protected]
> Subject: [svg-developers] How to manipulate SVG DOM tree: locate items &
> insert nodes?
> 
>  
> 
>   
> 
> I have a specific requirement to add a label to an SVG component that is on
> the canvas within an SVG editor tool.
> And not being a DOM / SVG expert, I have got a bit stuck.
> 
> The flow I am trying to achieve is this:
> - user drops a component onto the canvas (derived from a rectangle-type item
> from an SVG file)
> - user selects the component with the mouse
> - user clicks on 'Add Label' toolbar button
> - code is invoked to add the label to the component
> 
> The
> label will consist of a simple line with a disc (filled circle) fixed 
> to one end of the line, and the disc should sit underneath a text 
> element representing the label text to be shown: a simple numeric 
> sequence number from one upwards. The disc, text and end of the line 
> underneath should be able to be dragged into another position by the
> user.
> 
> The other end of the line should appear underneath the 
> centre-point of the selected component, and this end should remain fixed
> at that position and never move.
> 
> Think of 'call-out' 
> lines/labels in the old 'Haynes' car maintenance manuals (or Bosch power
> tool technical sheets), and this is what I'm trying to achieve.
> The numbers shown on the discs map to a table showing the part number the
> label/call-out is attached to.
> 
> I have mocked this up in Adobe Illustrator and it all seems to work ok.
> In
> the mock up, after setting the Z-order/layer positions as I want them, I
> grouped all the items, including the label elements and the main 
> component itself.
> Then, to move the disc end of the line, I selected 
> the 'Direct selection tool' in Illustrator, dragged over the disc and 
> label text, and part of the line, but not the over the component.
> This worked and I could drag the disc end anywhere I wanted.
> One
> point that I
> noticed was that in Illustrator when moving the line near the centre of
> the component to which it refers to, the word 'anchor' was displayed, 
> but I don't know if this is relevant, as I suspect this may not be 
> relevant. I think the grouping of the items, combined with the use of 
> the direct selection tool to select the disc end of the line, was the 
> signifant factor in allowing the line/disc/label to be moved.
> 
> Now
> I want to traverse the DOM document programmatically from Java (not 
> javascript), identify the selected component, then wrap it in a 
> '<g>' (group?) element, along with the line, the disc and the text
> label in the correct order, and then insert the final closing 
> '</g>' node to mark the end of the grouping, to mimic the 
> behaviour in the Illustrator mock up.
> 
> If anyone can help with 
> this, I would be more than grateful, as I have an approaching deadline a
> few days from now, which cannot be moved.
> 
> See more details in the
> attached image, as it should help understand what I'm trying to do.
> 
> Thanks a lot, and I just hope someone knowledgeable can answer before my
> deadline approaches :(
> 
> [Non-text portions of this message have been removed]
> 
> 
> 
> 
> 
> [Non-text portions of this message have been removed]
>




------------------------------------

-----
To unsubscribe send a message to: [email protected]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my membership"
----Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    [email protected] 
    [email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.