i jumped the gun... The problem is in my code that uses the MRGraphics library.. since I removed that, but kept in all of the MRGraphics files, and required it. So they are compiling alright, but the 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 <viresh53@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 <viresh53@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@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