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.