On Wed, Mar 14, 2007 at 11:09:03AM +0100, Abdelrazak Younes wrote:
> >I'd rather do:
> >
> >-    if (layout->labeltype == LABEL_SENSITIVE) {
> >+    if (cur.innerInsetOfType(InsetBase::CAPTION_CODE) || 
> >layout->labeltype == LABEL_SENSITIVE) {
> 
> Yes. That's what I meant in my previous comment (obviously InsetCaption 
> derives from InsetText, not LyXText).
> 
> But instead of using 'cur' I'd rather have a new method in LyXText:
> 
> InsetText * parent();
> InsetText const * parent() const;
> 
> Then the above code will be
> +     if (parent()->lyxCode() == InsetBase::CAPTION_CODE) || 
> layout->labeltype == LABEL_SENSITIVE) {
> 
> That would of course mean that we pass the Parent at LyXText 
> construction. I think  that having access to the parent InsetText will 
> remove may hacks in the code.

Not having the parents has benefits, too.

Removing the parent was one of the efforts in giving paragraphs (and
consequently contained insets) a value-semantic. Access to the 
parent was given by DocIterators (or a cursor for that matter)

This effort was not finished 100%. I am not sure why. 

However, it is probably time to decide whether we want parents
(i.e. basically a treelike structure with simpla navigation but 
ugoly copy semantics as needed for undo) or not (i.e. sometimes
cumbersome naviation but simple copies) - and than go for it 100%.

Andre'

Reply via email to