Re: [MacRuby-devel] Source List: NSOutlineView in a NSScrollView

2011-12-12 Thread François Boone
Hi,

Thank-you very much Watson for your SourceListViewBased example.
As usual, I have few questions:
1) Where did you find "isGroupItem:item" for OutlineView? I search in 
NSOutlineView Class Reference but I didn't find it!
2) I start from your example and I add a column to show a badge for each child. 
It's work, but there is still a small problem I do not understand:
Even if I set the size with interface inspector, the inline button is always 
the same width of the width of the column when I run the program.
For instance, the column's width is 70 and I set the button's width to 25. 

Thanks for reply
François

Some explanation and code:

I use the following method found on internet:

"First subclass NSTableCellView and add an IBOutlet for an NSButton and a 
@synthesize/@property statement for it. Then open the NSTableCellView which 
should have a badge in Interface Builder. Set it's class to your newly created 
subclass and add a button to it. Set the button style to "inline" and it's type 
to "switch".

Now select the TableCellView againa and connect the NSButton IBOutlet to your 
added button. That's it. You can now call e.g. [cellView button] 
setTitle@"123"]] to set the rows badge label to 123 or any arbitrary string."


So I append to your AppDelegate file the following new class, translated from 
the previous explanation in ruby:
class MaCellule <  NSTableCellView
attr_accessor :iden
def initialize
@iden = NSButton.new
end
end

and I change one of your method as follow:
def outlineView(outlineView,
viewForTableColumn:tableColumn,
item:item)
if (tableColumn.nil?|(tableColumn == outlineView.outlineTableColumn))
if item[:type] == "group"
# group
view = outlineView.makeViewWithIdentifier("HeaderCell", 
owner:self)
#puts item['name']
view.textField.stringValue = item['name']
else
# child
# puts item["name"]
view = outlineView.makeViewWithIdentifier("DataCell", 
owner:self)
view.imageView.image = item['icon']
view.textField.stringValue = item['name']
end
return view
else
if item[:group] == "group"
else
#puts item["name"] + " 2 " + item["badgeValue"].to_s 
view = outlineView.makeViewWithIdentifier("ButtonCell", 
owner:self)
#puts view.iden.class
if item["badgeValue"].empty?
view.iden.setTransparent(true)
else
view.iden.setTitle(item["badgeValue"])
end
end
end
end




Le 2011-12-10 à 02:53, Watson a écrit :

> Hi,
> 
> If you want to display images in NSOutlineView, I think you would use
> the NSOutlineView as View-Based.
> You might use the outlineView:viewForTableColumn:item instead of
> outlineView:objectValueForTableColumn:byItem.
> 
> Look at my sample, you would think it isn't difficult :)
> - 
> https://github.com/Watson1978/MacRuby-Samples/tree/master/SourceListViewBased
> 
> 
> 2011/12/9 François Boone :
>> Hi,
>> 
>> With help of Matt and Watson, I have made a tree using Outline View object 
>> and it works fine.
>> Now I would like to go one step further.
>> 
>> I would like to use the Source List object available in Object Library.  
>> This Source List looks like Outline View with TableColumn Object. In this 
>> Table Object there is two Table Cell objects, the first one for the header 
>> and the second one, divided in two objects, for an image and a text.
>> 
>> My question is: how to build the data to fill the Source List object: I try 
>> something like this:
>> @data = [ [ {:group => 'Title'}],  [:cell => {:image => image1, :name => 
>> 'Test'} ] ] where image1 is a NSImage object.
>> But this doesn't work.
>> 
>> I don't now why it doesn't work:
>> 1) a bad structure for @data
>> 2) a bad binding in xib file
>> 3) a bad definition of outlineView (I kept the same definition than the 
>> previous Outline View project)
>> 
>> Thanks for reply
>> François
>> 
>> 
>> 
>> ___
>> 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


Re: [MacRuby-devel] Source List: NSOutlineView in a NSScrollView

2011-12-12 Thread Watson
Hi,

1)
NSOutlineViewDelegate Protocol provides you its method.
Please refer to:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOutlineViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSOutlineViewDelegate

2)
If you use NSButton, its size might change like as:

frame = button.frame
frame.size.width = 20
button.setFrame(frame)

If make the badge too, it might easily using the
https://github.com/Perspx/PXSourceList :)

Thanks,


2011/12/13 François Boone :
> Hi,
>
> Thank-you very much Watson for your SourceListViewBased example.
> As usual, I have few questions:
> 1) Where did you find "isGroupItem:item" for OutlineView? I search in 
> NSOutlineView Class Reference but I didn't find it!
> 2) I start from your example and I add a column to show a badge for each 
> child. It's work, but there is still a small problem I do not understand:
> Even if I set the size with interface inspector, the inline button is always 
> the same width of the width of the column when I run the program.
> For instance, the column's width is 70 and I set the button's width to 25.
>
> Thanks for reply
> François
>
> Some explanation and code:
>
> I use the following method found on internet:
> 
> "First subclass NSTableCellView and add an IBOutlet for an NSButton and a 
> @synthesize/@property statement for it. Then open the NSTableCellView which 
> should have a badge in Interface Builder. Set it's class to your newly 
> created subclass and add a button to it. Set the button style to "inline" and 
> it's type to "switch".
>
> Now select the TableCellView againa and connect the NSButton IBOutlet to your 
> added button. That's it. You can now call e.g. [cellView button] 
> setTitle@"123"]] to set the rows badge label to 123 or any arbitrary string."
> 
>
> So I append to your AppDelegate file the following new class, translated from 
> the previous explanation in ruby:
> class MaCellule <  NSTableCellView
>    attr_accessor :iden
>    def initialize
>        @iden = NSButton.new
>    end
> end
>
> and I change one of your method as follow:
>    def outlineView(outlineView,
>                    viewForTableColumn:tableColumn,
>                    item:item)
>        if (tableColumn.nil?|(tableColumn == outlineView.outlineTableColumn))
>            if item[:type] == "group"
>                # group
>                view = outlineView.makeViewWithIdentifier("HeaderCell", 
> owner:self)
>                #puts item['name']
>                view.textField.stringValue = item['name']
>            else
>                # child
>                # puts item["name"]
>                view = outlineView.makeViewWithIdentifier("DataCell", 
> owner:self)
>                view.imageView.image = item['icon']
>                view.textField.stringValue = item['name']
>            end
>            return view
>        else
>            if item[:group] == "group"
>            else
>                #puts item["name"] + " 2 " + item["badgeValue"].to_s
>                view = outlineView.makeViewWithIdentifier("ButtonCell", 
> owner:self)
>                #puts view.iden.class
>                if item["badgeValue"].empty?
>                    view.iden.setTransparent(true)
>                else
>                    view.iden.setTitle(item["badgeValue"])
>                end
>            end
>        end
>    end
>
>
>
>
> Le 2011-12-10 à 02:53, Watson a écrit :
>
>> Hi,
>>
>> If you want to display images in NSOutlineView, I think you would use
>> the NSOutlineView as View-Based.
>> You might use the outlineView:viewForTableColumn:item instead of
>> outlineView:objectValueForTableColumn:byItem.
>>
>> Look at my sample, you would think it isn't difficult :)
>> - 
>> https://github.com/Watson1978/MacRuby-Samples/tree/master/SourceListViewBased
>>
>>
>> 2011/12/9 François Boone :
>>> Hi,
>>>
>>> With help of Matt and Watson, I have made a tree using Outline View object 
>>> and it works fine.
>>> Now I would like to go one step further.
>>>
>>> I would like to use the Source List object available in Object Library.  
>>> This Source List looks like Outline View with TableColumn Object. In this 
>>> Table Object there is two Table Cell objects, the first one for the header 
>>> and the second one, divided in two objects, for an image and a text.
>>>
>>> My question is: how to build the data to fill the Source List object: I try 
>>> something like this:
>>> @data = [ [ {:group => 'Title'}],  [:cell => {:image => image1, :name => 
>>> 'Test'} ] ] where image1 is a NSImage object.
>>> But this doesn't work.
>>>
>>> I don't now why it doesn't work:
>>> 1) a bad structure for @data
>>> 2) a bad binding in xib file
>>> 3) a bad definition of outlineView (I kept the same definition than the 
>>> previous Outline View project)
>>>
>>> Thanks for reply
>>> François
>>>
>>>
>>>
>>> ___
>>> MacRuby-devel mailing list
>>> MacRuby-devel@lists.macosforge.org
>>> h

Re: [MacRuby-devel] MacRuby challenge

2011-12-12 Thread Alan Skipp
A bit late to the moustachioed party. But here is an attempt at the live 
moustachification problem. The effect is perhaps more like being pursued by a 
persistent tache, rather than wearing a tache. Those with more powerful 
hardware (or less inclination to move around in front of the camera) may have 
more convincing results.
I have stolen the moustache and moustache positioning method from the previous 
submissions - I hope that's OK. With any luck there'll be something worth 
stealing back from my submission.
No attempts as yet at recording the effect (AVFoundation is a scary labyrinth).

https://gist.github.com/1469659

Al

On 8 Dec 2011, at 09:23, Sean Mateus wrote:

> Hi Pavlos,
> as we talked yesterday on twitter; I hope we can use this code 
> https://gist.github.com/1427886 as basis for the video version your 
> mustachification-script!
> 
> you can ping me on twitter @seanlilmateus
> 
> 
> --
> Sean Mateus
> ___
> 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