[MacRuby-devel] windowControllerDidLoadNib strangeness

Tom Jordan viresh53 at gmail.com
Fri Nov 26 14:14:01 PST 2010


I'm having some trouble bringing in the old nib to the newly working
project,
so I went back to the old project and removed the MRGraphics code..
windowControllerDidLoadNib is now working right in the original project..
I hope there is a way to still use the MRGraphics library..
I'm going to submit an issue at its Github site..




On Fri, Nov 26, 2010 at 4:46 PM, Tom Jordan <viresh53 at gmail.com> wrote:

> Thanks Guys !  I just created a new project and it worked..  Now I'm going
> to bring in my files from the other project and see if I can find where it
> breaks..
> I'm also using the MRGraphics library at:
> https://github.com/mattetti/macruby_graphics
>
> It works great to quickly get a custom graphics view going, although I have
> noticed some strangeness with IB..
> in that whenever I add new widgets to the top level (and only) nib,
> I need to delete the custom view that has the MRgraphics, and repaste it
> back in, and reconnect it,
> or else the newly added widgets won't show up in the build (until you mouse
> over to where they're supposed to be and click..
> in which case they will appear (sometimes partially if it's a matrix, for
> example), and even then they won't function right).
>
> It drove me crazy until I found out that deleting the custom view and
> repasting it worked..  although I don't know what I'm going to do
> once I need to have more than one custom view and keep adding widgets,
> etc.. I just wanted to mention this in case
> anyone has seen this before.
>
> I'm running 10.6 on a Mac Pro.. which I believe it's 64-bit..
> I need to get a Github account or something so that I can post a full
> project if need be..
>
> This is a great resource, I appreciate the help.. thanks !
>
> Regards,
>
> Tom Jordan
>
>
>
>
> On Fri, Nov 26, 2010 at 3:42 PM, Laurent Sansonetti <lsansonetti at apple.com
> > wrote:
>
>> Hi Tom,
>>
>> I just created a sample NSDocument-based project, and added
>> a windowControllerDidLoadNib: method to the NSDocument class, calling super
>> as you do, and everything worked as expected.
>>
>> Could you try that and see if you still see the problem? Also, do you run
>> a 32-bit machine?
>>
>> Laurent
>>
>>
>> On Nov 25, 2010, at 10:07 PM, Tom Jordan wrote:
>>
>> Hello,
>>
>> I'm encountering some weird behavior when trying to update a view using
>> When I provide windowControllerDidLoadNib a single argument, as shown
>> below (and required by the NSDocument class definition and in every example
>> I've seen),
>> Xcode says: `windowControllerDidLoadNib:': wrong number of arguments (1
>> for 0) (ArgumentError)
>> If I don't provide any argument, it says: undefined method
>> `windowControllerDidLoadNib' for #<MyDocument:0x200646660> (NoMethodError)
>> I've tried every combination of one or no args for both the method
>> signature and "super" call on the next line, and I can't seem to get any
>> different results.
>> This is my first time trying to get persistence going, but I've read a lot
>> about it, and everything else is working well.. it saves and loads, but I
>> can't seem to get this hook
>> working to update the GUI upon loading.
>>
>>
>> class MyDocument < NSDocument
>>
>> attr_accessor :loadedmodel, :root #outlet to model field of controller
>>
>>  # Name of nib containing document window
>> def windowNibName
>> 'MyDocument'
>> end
>>
>> # Document data representation for saving (return NSData)
>> def dataOfType(type, error:outError)
>>  outError.assign(NSError.errorWithDomain(NSOSStatusErrorDomain, code:-4,
>> userInfo:nil))
>> NSKeyedArchiver.archivedDataWithRootObject(@root.model)
>>  end
>>
>> # Read document from data (return non-nil on success)
>> def readFromData(data, ofType:type, error:outError)
>>  outError.assign(NSError.errorWithDomain(NSOSStatusErrorDomain, code:-4,
>> userInfo:nil))
>> @loadedmodel = NSKeyedUnarchiver.unarchiveObjectWithData(data)
>>  end
>>
>> # Return lowercase 'untitled', to comply with HIG
>> def displayName
>> fileURL ? super : super.sub(/^[[:upper:]]/) {|s| s.downcase}
>>  end
>>
>> def windowControllerDidLoadNib(aController)
>> super(aController)
>> @root.model = @loadedmodel
>>  NSLog("model loaded")
>> end
>>
>> end
>>
>> Regards,
>>
>>     Tom Jordan
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>>
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20101126/3309273b/attachment-0001.html>


More information about the MacRuby-devel mailing list