On Apr 3, 3:23 pm, "krithika" <[EMAIL PROTECTED]> wrote:
> On Apr 2, 1:54 pm, Eli Friedman <[EMAIL PROTECTED]> wrote:
>
>
>
> > krithika wrote:
> > > On Apr 2, 10:01 am, Eli Friedman <[EMAIL PROTECTED]> wrote:
> > >> krithika wrote:
> > >>> On Mar 31, 1:50 am, Eli Friedman <[EMAIL PROTECTED]> wrote:
> > >>>> krithika wrote:
> > >>>>> On Mar 30, 4:31 pm, Eli Friedman <[EMAIL PROTECTED]> wrote:
> > >>>>>> krithika wrote:
> > >>>>>>> for (nsIFrame* page = mFrames.FirstChild(); page; page = page-
> > >>>>>>>> GetNextSibling())
> > >>>>>>> {
> > >>>>>>> nsPageFrame * pf = NS_STATIC_CAST(nsPageFrame*, page);
> > >>>>>>> nsIFrame* contentFrame = pf->GetFirstChild(nsnull);
> > >>>>>>> nsPageContentFrame* contentPage =
> > >>>>>>> NS_STATIC_CAST(nsPageContentFrame*, contentFrame);
> > >>>>>>> nsIFrame* firstPageElem= contentPage-
> > >>>>>>>> GetFirstChild(nsnull);
> > >>>>>>> nsIContent* cont = firstPageElem->GetContent();
> > >>>>>>> ...
> > >>>>>>> //process Content to get page start element and end element
> > >>>>>>> details
> > >>>>>>> }
> > >>>>>> Hmm, I'm assuming mFrames is the child frame list for
> > >>>>>> nsSimplePageSequence.
> > >>>>>> In a normal situation (without any fixed-position elements), the only
> > >>>>>> direct child of a page content frame is going to be a continuation of
> > >>>>>> the frame associated with the root content node, since all the
> > >>>>>> content
> > >>>>>> in a document is a child of the root content node. If you're
> > >>>>>> interested
> > >>>>>> in where paragraphs and stuff split in an HTML document, you're
> > >>>>>> going to
> > >>>>>> have to go down deeper into the frame tree.
> > >>>>>> -Eli
> > >>>>> I tried mFrames , but is protected. Can this be accessed from
> > >>>>> somewhere.?
> > >>>>> How do I iterate frame tree?
> > >>>>> Will it give me the indication of where page breaks?
> > >>>>> Iam lost again.
> > >>>>> thanks & regards,
> > >>>>> Krithika
> > >>>> The normal way to navigate the frame tree is to use
> > >>>> GetFirstChild(nsnull) to get the primary child, then GetNextSibling()
> > >>>> to
> > >>>> iterate over the list of children (sibling frames are in a
> > >>>> singly-linked
> > >>>> list), not attempting to directly access other frames' frame list.
> > >>>> -Eli
> > >>> Hi,
> > >>> After I get AreaFrame from nsPageContentFrame Iam unable to iterate it
> > >>> through.GetNextSibling always returns null.
> > >>> How do I proceed in this case?
> > >>> regards,
> > >>> Krithika
> > >> The pages aren't connected together through the sibling list. You can
> > >> use GetNextContinuation() to find continuations for blocks (i.e. frames
> > >> with the same content). Or you can just go back up the tree and use
> > >> GetNextSibling to get the next page.
>
> > >> -Eli
>
> > > I have a for loop to navigate to next page.I only what to iterate
> > > individual page content.
>
> > >>From PageContentFrame I recursively do a GetFirstChild(nsnull) and I
> > > am trying to print the frame type and content child count of those
> > > frames.
>
> > > For each page the first two frames are identical and subsequent frames
> > > differ.
> > > // all pages have this first and then frame type and content changes.
> > > Page Element FrameType: AreaFrame
> > > content child count 2
> > > ==================================
> > > Page Element FrameType: BlockFrame
> > > content child count 55
> > > ==================================
>
> > > I am unable to understand this behaviour basically becos of my poor
> > > understanding of how these frames are arranged is inside of each
> > > PageContentFrame.
>
> > > Can you throw some light on this?.
>
> > > Thanks,
> > > Krithika
>
> > Tree for a simple HTML document like
> > <html><body>
> > <p>Para 1
> > <p>Para 2
> > ...
> > <p>Para 20
> > PageFrame
> > PageContentFrame
> > AreaFrame content: html
> > BlockFrame content: body
> > BlockFrame content: p
> > TextFrame content: #text "Para 1"
> > BlockFrame content: p
> > TextFrame content: #text "Para 2"
> > ...
> > PageFrame
> > PageContentFrame
> > AreaFrame content: html (continuation)
> > BlockFrame content: body (continuation)
> > BlockFrame content: p
> > TextFrame content: #text "Para 20"
>
> > Continuations are special because they correspond to the same content as
> > a previous frame. They're linked together through GetNextContinuation
> > and GetPrevContinuation.
>
> > nsIFrameDebug contains some methods that let you dump frame trees; that
> > could be helpful for understanding what's going on.
>
> Thanks a lot.It cleared up all my doubts.Iam able to reach the last
> frame of each page to do my manipulation.
>
> regards,
> Krithika
Hi,
I need some more information.Is there a way to find out the text at
which page break occurs.As you said we get the whole content and
unable to identify the text at which break occurs.
regards,
Krithika
_______________________________________________
dev-tech-layout mailing list
[EMAIL PROTECTED]
https://lists.mozilla.org/listinfo/dev-tech-layout