[email protected]:
> I'm still working on this and ran into a new problem. I'd like
> to return the elements in a list, but with additional metadata.
> Essentially an array with objects.
>
> My function now works like elementsFromPoint()
> and returns sequence<Element> which is defined in
> source/release/dom/webidl/Document.webidl.
>
> So instead of this:
> [referenceToHtmlNode,referenceToHtmlNode,referenceToHtmlNode,referenceToHtmlNode]
> 
> I'd like my function to return something like this:
> [{node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
> {node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
> {node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber},
> {node:referenceToHtmlNode,number1:aNumber,number2:aNumber,number3:aNumber}]

You can define a dictionary to describe the object, and then return a
sequence of those:

  dictionary MyNodeInfo {
    Node node;
    float number1;
    float number2;
    float number3;
  };

  partial interface Document {
    sequence<MyNodeInfo> myFunction();
  };

Then:

  void nsIDocument::MyFunction(nsTArray<MyNodeInfo>& aResult) {
    MyNodeInfo* e = aResult.AppendElement();
    e->mNode = …;
    e->mNumber1 = …;
    …
  }

-- 
Cameron McCormack ≝ http://mcc.id.au/
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to