Thanks a lot Jon !

This perfectly solves the issue ! So, to verify that I do it correctly... I've overloaded the ibAddToDesignableDocument notification message into the testIBView integration category :

- (void)ibDidAddToDesignableDocument:(IBDocument *)document
{
  [document addObject:[self formatter] toParent:self];
}

This seems to work even if, contrary to your indication, this adds the formatter to the document after it is attached to the text field... Tell me if this is wrong, but this is the only way I've found to allow a resonnable separation between the inherited text field object and its integration to interface builder.

Thanks again,
Cyril.



Le 8 août 08 à 07:05, Jonathan Hess a écrit :

Hey Cyril -

How are you adding the formatter to the text field? After you add the formatter, does it appear as a child of the text field in the document outline view? If not, that's your problem. Interface Builder maintains a tree of all of the objects in the document. If you do something like call '[textField setFormatter:myFormatter]' where textField is a text field in an Interface Builder document, but formatter hasn't been added to the same document, then you'll run into this sort of issue. Just make sure to invoke -[IBDocument addObject:myFormatter toParent:myTextField] before calling [myTextField setFormatter:myForamtter].

Hope that clears up your issue -
Jon Hess

On Aug 7, 2008, at 2:02 AM, Cyril Kardassevitch wrote:

hi,

I have designed customs NSTextField and NSFormatter objects that I have tried to pack in an interface builder 3 plugin...

This works fine (can drag and drop the field, can access field inspector), except that when I select the formatter, interface builder generates an assertion failure with :

Backtrace:
1. Interface Builder 0x00006620 [IBApplication handleAssertion:inFile:onLine:] 2. InterfaceBuilderKit 0x0021bed4 [Ithanks a lot BObjectContainer objectIDForObject:] 3. InterfaceBuilderKit 0x0021c0ec [IBObjectContainer metadataForKey:ofObject:] 4. InterfaceBuilderKit 0x00224e84 [IBDocument customClassNameForObject:] 5. InterfaceBuilderKit 0x00224e0c [IBDocument classNameForObject:] 6. InterfaceBuilderKit 0x0023f210 [IBDocument commonCustomClassNameOfObjects:] 7. InterfaceBuilderKit 0x0023f15c [IBInspectorController computeTitle] 8. InterfaceBuilderKit 0x0023f08c [IBInspectorController refresh] 9. InterfaceBuilderKit 0x0023b630 [IBInspectorController rebuildInspectorStack] 10. InterfaceBuilderKit 0x0023b4c0 [IBInspectorController validate:]
...

The NSTextField and NSFormatter child have their own working plugins, and there is absolutely no problem if I combine the 2 above objects manually in interface builder. The field and its formatter are then fully accessible and designable.

I've tried various things without success. Has anyone got a tip on how to expose a programmatically attached formatter ?

Thanks.
Cyril.


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jhess%40apple.com

This email sent to [EMAIL PROTECTED]



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to