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