[MacRuby-devel] windowControllerDidLoadNib strangeness

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


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 at 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 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/d1e6d657/attachment.html>


More information about the MacRuby-devel mailing list