Revision: 492 http://trac.macosforge.org/projects/ruby/changeset/492 Author: rich@infoether.com Date: 2008-08-27 07:57:01 -0700 (Wed, 27 Aug 2008) Log Message: ----------- add a few more examples Modified Paths: -------------- MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/application.rb Added Paths: ----------- MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/movie_view.rb MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/table_view.rb Modified: MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/application.rb =================================================================== --- MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/application.rb 2008-08-27 06:10:58 UTC (rev 491) +++ MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/application.rb 2008-08-27 14:57:01 UTC (rev 492) @@ -25,9 +25,13 @@ application(:name => "Demo") do |app| app.delegate = self @main_window = window(:frame => [100, 100, 500, 500], :title => "HotCocoa Demo Application") do |win| + win << window_geometry_label win << segment_control win.will_close { exit } + win.did_move { update_window_geometry_label } + win.did_resize { update_window_geometry_label } end + update_window_geometry_label end end @@ -57,6 +61,16 @@ private + def update_window_geometry_label + frame = main_window.frame + window_geometry = "x=#{frame.origin.x}, y=#{frame.origin.y}, width=#{frame.size.width}, height=#{frame.size.height}" + window_geometry_label.text = "Window frame: (#{window_geometry})" + end + + def window_geometry_label + @window_geometry_label ||= create_window_geometry_label + end + def demo(description) main_window.view.remove(current_demo_view) if current_demo_view @current_demo_view = DemoApplication.view_with_description(description).create @@ -66,6 +80,10 @@ def segment_control @segment_control ||= create_segment_control end + + def create_window_geometry_label + label(:text => "", :layout => {:expand => :width, :start => false}) + end def create_segment_control segmented_control(:layout => {:expand => :width, :align => :center, :start => false}, :segments => demo_app_segments) do |seg| Added: MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/movie_view.rb =================================================================== --- MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/movie_view.rb (rev 0) +++ MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/movie_view.rb 2008-08-27 14:57:01 UTC (rev 492) @@ -0,0 +1,21 @@ +framework 'qtkit' + +class MovieView + + def self.description + "Movie Views" + end + + def self.create + layout_view :frame => [0, 0, 0, 0], :layout => {:expand => [:width, :height]}, :margin => 0, :spacing => 0 do |view| + mview = movie_view :layout => {:expand => [:width, :height]}, + :movie => movie(:url => "http://movies.apple.com/movies/disney/wall-e/wall-e-tlr3_h.640.mov"), + :controller_buttons => [:back, :volume], + :fill_color => color(:name => :black) + view << mview + end + end + + DemoApplication.register(self) + +end \ No newline at end of file Added: MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/table_view.rb =================================================================== --- MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/table_view.rb (rev 0) +++ MacRuby/trunk/sample-macruby/HotCocoa/demo/lib/views/table_view.rb 2008-08-27 14:57:01 UTC (rev 492) @@ -0,0 +1,26 @@ +class TableView + + def self.description + "Table Views" + end + + def self.create + layout_view :frame => [0, 0, 0, 0], :layout => {:expand => [:width, :height]}, :margin => 0, :spacing => 0 do |view| + view << scroll_view(:layout => {:expand => [:width, :height]}) do |scroll| + scroll << table_view( + :columns => [ + column(:id => :first_name, :text => "First"), + column(:id => :last_name, :text => "Last") + ], + :data => [ + {:first_name => "Richard", :last_name => "Kilmer"}, + {:first_name => "Chad", :last_name => "Fowler"} + ] + ) + end + end + end + + DemoApplication.register(self) + +end