jjb,

Thanks for the quick answer.

for the moment, i managed to do this :

- create a totally new panel
- when something is selected in the html panel and i switch to my panel, the 
xpath is displayed thanks to a domplate called in showPanel (the selected 
element is found thanks to FirebugContext.getPanel('html').selection)
- add a little delete icon on the left of the xpath address to delete it 
(thanks for the idea)

i'm trying now to move this to a side panel of the html panel as you suggested.
Everything works fine but i need to switch between my panel and another one 
everytime for the selection to be taken into account (since i use showSidePanel 
method).
I've had a look a codeburner extension but couldn't figure out which method is 
called when selection is changed. I've also looked at bindings, but this is a 
complete mistery to me (i don't even understand what's it is used for, but i'm 
a complete newbie in XUL)

Is there a method that would be called magically in my side panel when the 
selection changes in the html panel? I thought updateSelection (which i found 
in css.js) would be a good candidate but it does not seemed to be called.
I've seen some code bindings in a11y.js such as bind(this.onHTMLFocus, this); 
but i didn't have more luck.

Thanks for your help

Greg

Le 17 mars 2010 à 15:44, John J Barton a écrit :

> 
> 
> On Mar 17, 1:58 am, ilomedia <[email protected]> wrote:
>> Hi all,
>> 
>> I'm trying to build a simple extension and i must admit that i'm kind
>> of lost.
>> 
>> The purpose of my extension is to provide a new panel in which a list
>> of the xpath adresses selected in the HTML panel will be kept.
>> To make it clearer, i need a new right-click item on an node in the
>> HTML panel that would add the xpath adress to an array and when i go
>> my new panel i can see the list of copied addresses.
>> 
>> I already built a basic extension that adds my new panel. I also
>> managed to add a new right-click item on a node thanks to the
>> supportsObject method (though i'm not very pleased with the label
>> "inspect in ...").
>> When i click on my new inspect item, my panel is displayed but i
>> couldn't find the way to get the DOM element selected in the HTML
>> panel (and believe me i tried hard).
>> 
>> Here are my questions :
>> 
>> - Which method should i use to retrive this element? I tried to access
>> Firebug.HTMLPanel.inspectorHistory, panel.selection, panel.context
>> (and other properties) without any success.
> Here is some code from bindings.xml mouseOver, with my
> interpretations:
> 
> Get the meta-object for the graphical rendering object under the
> event:
>            var object = Firebug.getRepObject(event.target);
>            if (object)
>            {
> Get the type of the meta-object
>                var rep = Firebug.getRep(object);
> Get the Firefox object that the meta-object represents from the type
> object:
>                object = rep.getRealObject(object, FirebugContext);
>                if (object)
>                    Firebug.Inspector.highlightObject(object,
> FirebugContext);
>            }
> 
>> 
>> - Is using a new panel the right option? Or should i use a sub-panel
>> of the HTML panel? I don't think this can be done though since those
>> sub-panels seemed to be cleared at each selection.
> 
> Some side panels, like Style, synchronize to the main panel selection.
> Others, like the Breakpoints side panel, act like alternative indexes
> into the main panel. It sounds like that would be a good model for
> you.
> 
>> 
>> - Finally, is there another way to add a right-click item in the HTML
>> panel (without any hack)
> 
> I don't know your eventual goal, but another suggestion: the XPath
> side panel could be an "editable history". So the side panel would add
> one XPath for every selection in the HTML panel. The user creates the
> list by selecting HTML elements rather than right click > add; Each
> XPath would have a (x) button on the left to remove the XPath. Mouse
> over on the XPath item would highlight the corresponding HTML
> object.
> 
> Novice users will be able to use the XPath side panel immediately
> because it will always have content. Expert users will know to clear
> the XPath side panel and then select the HTML nodes they want,
> deleting any they add by mistake.
> 
> jjb
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Firebug" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/firebug?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
"Firebug" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/firebug?hl=en.

Reply via email to