Hi Ernesto,

I'm not sure what's going on, but maybe some of this will help...

The makeEditor function makes an AEBlock, a block that hosts an attribute editor. Attribute editors are picked at runtime based on the type of the value in the configured attribute; in your case, you're telling it to edit the 'rawVCard' attribute. I don't know what the declared type of the 'rawVCard' attribute is, but I'm guessing  it's schema.Text, like ContentItem's 'body'.

The picking mechanism also uses the presentationStyle.format attribute, if present, to influence the picking process. You're saying that the format is 'contactRawVCardField', so it's going to look first for an attribute editor registered to handle 'Text+contactRawVCardField'. I'm assuming that you didn't write a custom attribute editor, so it's not going to find one - it will fall back and look for one for just 'Text', and will find StringAttributeEditor (which is what gets used for the Note body as well).

StringAttributeEditor should do the right thing and build a multiline text area since you've given it that lineStyleEnum 'MultiLine' value. I'm not sure why it's not, or what you mean by "it works if the block is moved outside childrenBlocks" - where are you moving it to that it's still appearing?

(If you did write a custom attribute editor that you've registered to handle Text+contactRawVCardField, it'd need the same logic in its createControl method as StringAttributeEditor has - you can see that it's a matter of passing a different style value to the control being created. I'm not saying you _should_ create a custom attribute editor, especially right before your demo -- I'm just trying to explain what happens if you have.)

I wouldn't be surprised if specifying the height didn't work at all, no matter where you say "height=...". Our only use case for the multiline editor is for the note body, to have it take up "the rest of the space" (that is, they stretch to take up the rest of the detail view after all the smaller fields are laid out. I think the certificate detail view shows more than one multiline text field, and they all share that space - you might ask Heikki about that.

...Bryan

Ernesto Rivera wrote:

Hi,

I am doing some last changes to contacts' code before tomorrow's presentations.

I have this annoying issue with this 'RawVCard' that is displayed "squeezed" as text field instead of a text area (multiline text):

contactPersonRootBlocks = [...

detail.makeArea(
            parcel, "RawVCardArea",
            baseClass=RawVCardAreaBlock, # this makes the area conditionally visible
            height = 200,    # <-- didn't expanded the detail area either
            childrenBlocks=[
                detail.makeEditor(  # displays as a text field instead of as a text area
                    parcel, 'RawVCard',
                    viewAttribute=u'rawVCard',
                    presentationStyle={
                        'lineStyleEnum': 'MultiLine',  #<-- this works the block is moved outside childrenBlocks
                        'format': 'contactRawVCardField'
                    },
                    height = 200 # doesn't seem to work
                )
            ],
            position=0.951
        ).install(parcel),


The problem occurs on both alpha2 and 3. Also the the field displays correctly when outside the detail.makeArea, so the issue is only for text areas declared as childrenBlocks.

Any ideas?

Thanks,


Ernesto





_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Open Source Applications Foundation "chandler-dev" mailing list http://lists.osafoundation.org/mailman/listinfo/chandler-dev



_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to