Re: Minimalist fruit basket program in Ruby

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Tue, 13 Nov 2007 18:13:34 -0500 (EST)

A misspelling -- I meant Jay Macarty!
On Tue, 13 Nov 2007, Jamal Mazrui
wrote:

> Date: Tue, 13 Nov 2007 18:08:19 -0500 (EST)
> From: Jamal Mazrui <empower@xxxxxxxxx>
> Reply-To: programmingblind@xxxxxxxxxxxxx
> To: programmingblind@xxxxxxxxxxxxx
> Subject: Minimalist fruit basket program in Ruby
>
> >From the archive at
> http://www.EmpowermentZone.com/rb_fruit.zip
>
> This fruit basket program is written in Ruby:  an open source, dynamic
> language available at
> http://ruby-lang.org
>
> The program uses WxWidgets:  a cross-platform GUI library with Ruby
> bindings at
> http://WxRuby.RubyForge.net
> The calling syntax is made more Ruby-like by a layer of wrappers called
> WxSugar.  The batch file, run.bat, executes the program with the Ruby
> interpreter for Windows, rubyw.exe.
>
> I have done a Ruby fruit basket program before -- with assistance from Jay
> McCarthy.  This one tries to be as simple, short, and readable as possible
> using knowledge gained since then.
>
> Jamal
>
> # Content of rb_fruit.rbw
> # Fruit basket program in Ruby
> # Public domain by Jamal Mazrui
>
> # Load Wx wrappers
> require "wx"
> require "wx_sugar"
>
> # Import Wx namespace
> include Wx
>
> # Define Wx application
> App.run do
> dlg = Dialog.new(nil, :title => "Fruit Basket")
>
> # Define layout grid
> dlg.arrange_grid( :cols => 3, :rows => 2) do
> dlg.add(StaticText[:label => "&Fruit:"])
> txtFruit = dlg.add(TextCtrl)
> btnAdd = dlg.add(Button[:label => "&Add"])
> btnAdd.set_default
>
> dlg.add(StaticText[:label => "&Basket:"])
> lstBasket = dlg.add(ListBox)
> btnDelete = dlg.add(Button[:label => "&Delete"])
>
> # Define Add event handler
> dlg.evt_button(btnAdd.get_id) do
> sFruit = txtFruit.get_value
> if sFruit == ""
> message_box("No fruit to add!", "Alert")
> else
> lstBasket.append(sFruit)
> iFruit = lstBasket.get_count - 1
> lstBasket.set_selection(iFruit)
> txtFruit.clear
> end
> end
>
> # Define Delete event handler
> dlg.evt_button(btnDelete.get_id) do
> iFruit = lstBasket.get_selection
> if iFruit == -1
> message_box("No fruit to Delete!", "Alert")
> else
> lstBasket.delete(iFruit)
> iFruit = iFruit - 1 if iFruit == lstBasket.get_count
> lstBasket.set_selection(iFruit)
> end
> end
>
> end # grid
>
> # Define Close event handler
> dlg.evt_close do
> exit if message_box("Close program?", "Confirm", YES_NO) == YES
> end
>
> # Activate dialog
> dlg.show
> end # app
>
> # End of rb_fruit.rbw
>
>
>
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: