Hi Tom, Could you try to reduce the problem into a new Xcode project? (adding MRGraphics to it if necessary.)
Once you have a reduction, please attach it to a new ticket: http://www.macruby.org/trac/newticket Thanks :) Laurent On Nov 26, 2010, at 2:30 PM, Tom Jordan wrote: > > The problem is in my code that uses the MRGraphics library.. > I removed that, but kept in all of the MRGraphics files, and required it, and > windowControllerDidLoadNib is still working. > So the MPGraphics files are compiling alright, but the code that uses it is > somehow triggering an error. > I'm just providing it here in case someone has used it before. > I'm thinking that the problem is still with the graphics library, > since I just copied one of their examples and changed it to use my > variables and objects to draw. > Probably by calling into the library it somehow breaks > windowControllerDidLoadNib > although I did a search for windowControllerDidLoadNib in the MRgraphics > folder and it's not there.. > > > def drawRect(rect) > @theSteps ? @theSteps : @theSteps = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, > 12, 13, 14, 15, 16] # initial setup / default view values > @theStartstep ? @theStartstep : @theStartstep = 1 > @theNumsteps ? @theNumsteps : @theNumsteps = 16 > > dimensions = [CGRectGetWidth(rect), CGRectGetHeight(rect)] # MRGraphics > setup code > Canvas.for_current_context(:size => dimensions) do |c| > > stepboxes = Path.new # declare objects to be drawn > highlightedRange = Path.new > cursor = Path.new > > start = (@theStartstep-1)%16 # calculate highlighted range > length = @theNumsteps > if (start+length > 16) > highlightedRange.rect( start*29, 0, ((16-start)*29)+4, 162 ) > highlightedRange.rect( 0, 0, (start+length-16)*29, 162 ) > else > highlightedRange.rect( start*29, 0, length*29, 162 ) > end > > cursor.rect( (start*29)-1, 0, 1, 162) # calculate location of the > vertical cursor > > @theSteps.each_with_index do |k, i| # calculate locations of the 16 > step-boxes > stepboxes.rect( i*29, k*9, 29, 9 ) > end > > c.background(Color.gray) # paint background > > c.fill(Color.blue) # paint highlighted range > c.draw(highlightedRange) > > c.fill(Color.yellow) # draw step-boxes > c.stroke(0) > c.stroke_width(1) > c.draw(stepboxes) > > c.fill(Color.black) # draw cursor > c.stroke_width(0) > c.draw(cursor) > > end > end > > > > > > > > On Fri, Nov 26, 2010 at 5:14 PM, Tom Jordan <vires...@gmail.com> wrote: > 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 <vires...@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 <lsansone...@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@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > > > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel