[#43299] Ruby implementation Q's — justinj@... (Justin Johnson)

Apologies in advance for this meaty posting:

30 messages 2002/07/01

[#43358] (0..3) == (0...4) returning false? — Massimiliano Mirra <list@...>

Is there a reason for two ranges holding the same extension but

41 messages 2002/07/02

[#43416] Segmentation Fault - Ruby Garbage Collection — James Eric Birmingham <avenger@...>

During load testing of our Ruby program, we have been getting

22 messages 2002/07/02

[#43570] self_parent — Tom Sawyer <transami@...>

i was wondering what others thought of the idea of having a built in

47 messages 2002/07/04
[#43571] Re: self_parent — David Alan Black <dblack@...> 2002/07/04

Hello --

[#43584] Re: self_parent — Tom Sawyer <transami@...> 2002/07/04

all my real examples are pretty large, mostly to do with using the REXML

[#43628] Re: self_parent — Massimiliano Mirra <list@...> 2002/07/05

On Fri, Jul 05, 2002 at 07:49:09AM +0900, Tom Sawyer wrote:

[#43662] Re: self_parent — Tom Sawyer <transami@...> 2002/07/05

On Fri, 2002-07-05 at 05:31, Massimiliano Mirra wrote:

[#43705] Re: self_parent — Austin Ziegler <austin@...> 2002/07/05

On Sat, 6 Jul 2002 03:32:11 +0900, Tom Sawyer wrote:

[#43713] Re: self_parent — Michael Campbell <michael_s_campbell@...> 2002/07/05

> In ten years of professional software development, a good chunk of

[#43602] is there a better string.each? — Tyler Spivey <tspivey8@...>

well, i have a bit of a problem:

98 messages 2002/07/05
[#43606] Re: is there a better string.each? — Tom Sawyer <transami@...> 2002/07/05

a = "canada"

[#43644] Re: is there a better string.each? — Sean Russell <ser@...> 2002/07/05

Tom Sawyer wrote:

[#43645] Re: is there a better string.each? — Michael Campbell <michael_s_campbell@...> 2002/07/05

> > thought it was strange myself. personally i'd like it if String

[#43707] Re: is there a better string.each? — Sean Russell <ser@...> 2002/07/05

Hal E. Fulton wrote:

[#43714] Re: is there a better string.each? — Michael Campbell <michael_s_campbell@...> 2002/07/05

[#43774] Re: is there a better string.each? — Sean Russell <ser@...> 2002/07/06

Michael Campbell wrote:

[#43805] Re: is there a better string.each? — Michael Campbell <michael_s_campbell@...> 2002/07/07

[#43848] Re: is there a better string.each? — "Hal E. Fulton" <hal9000@...> 2002/07/07

----- Original Message -----

[#43611] Powered by Ruby (logo) — Davey <davey@...>

Hey,

23 messages 2002/07/05

[#43780] passing to objects at the bottom — Tom Sawyer <transami@...>

i have a chain of objects such that one object contains another which

17 messages 2002/07/06

[#43795] Pre-RCR... nil.empty? — Dave Thomas <Dave@...>

34 messages 2002/07/07
[#43799] Re: Pre-RCR... nil.empty? — David Alan Black <dblack@...> 2002/07/07

Hi --

[#43807] unshifting a directory onto ENV['PATH'] — Bil Kleb <W.L.Kleb@...>

Is there a more elegant (compact?) method than

16 messages 2002/07/07

[#43916] How to determine EOF with sysread? — Jim Freeze <jim@...>

Hi:

13 messages 2002/07/08

[#43943] SV: SV: [ANN] Archive 0.2 — Thomas Søndergaard <tsondergaard@...>

DQo+IFRoYW5rcy4gOi0pIEknbSBub3QgdGVycmlibHkgaW4gaHVycnkgdG8gYWRkIFppcCBzdXBw

13 messages 2002/07/08

[#43944] Re: is there a better string.each? — George Ogata <g_ogata@...>

Hi,

45 messages 2002/07/08
[#43959] Re: is there a better string.each? — Austin Ziegler <austin@...> 2002/07/08

On Mon, 8 Jul 2002 20:43:57 +0900, George Ogata wrote:

[#43949] for ... else ... end — "Kontra, Gergely" <kgergely@...>

Hi!

45 messages 2002/07/08
[#44103] Re: for ... else ... end — Sean Russell <ser@...> 2002/07/09

Yukihiro Matsumoto wrote:

[#44107] Re: for ... else ... end — "Kontra, Gergely" <kgergely@...> 2002/07/09

For the keyword war: (silly, dummy example)

[#43957] Redirecting standard error — Gilles Filippini <gilles.filippini@...>

Hi,

13 messages 2002/07/08

[#44019] String#split converts string args to regexes -- ? — David Alan Black <dblack@...>

Hello --

41 messages 2002/07/08
[#44104] Re: String#split converts string args to regexes -- ? — kasal@... (Stepan Kasal) 2002/07/09

Hallo,

[#44137] Re: String#split converts string args to regexes -- ? — matz@... (Yukihiro Matsumoto) 2002/07/09

Hi,

[#44209] Re: String#split converts string args to regexes -- ? — kasal@... (Stepan Kasal) 2002/07/10

Hallo,

[#44212] Re: String#split converts string args to regexes -- ? — David Alan Black <dblack@...> 2002/07/10

Hi --

[#44265] spliter of for...each: looping — Tom Sawyer <transami@...>

when looping, using each, i find i am often wonton of a few nice

24 messages 2002/07/10
[#44266] Re: spliter of for...each: looping — David Alan Black <dblack@...> 2002/07/10

Hello --

[#44268] Re: spliter of for...each: looping — Tom Sawyer <transami@...> 2002/07/10

hmmm...

[#44270] Re: spliter of for...each: looping — David Alan Black <dblack@...> 2002/07/10

Hi --

[#44272] Re: spliter of for...each: looping — Tom Sawyer <transami@...> 2002/07/10

david,

[#44275] Re: spliter of for...each: looping — David Alan Black <dblack@...> 2002/07/10

Hi --

[#44282] Re: spliter of for...each: looping — Tom Sawyer <transami@...> 2002/07/11

each_with_nindex, rocking! i'll throw that in my library, for sure.

[#44289] Re: spliter of for...each: looping — David Alan Black <dblack@...> 2002/07/11

Hi --

[#44296] RE: Commercial Support for Ruby — "Berger, Daniel" <djberge@...>

> Hi Everyone,

18 messages 2002/07/11

[#44312] opengl — Tom Sawyer <transami@...>

can any one give me some help installing the opengl interface library? i

22 messages 2002/07/11
[#44316] Re: opengl — Dossy <dossy@...> 2002/07/11

On 2002.07.12, Tom Sawyer <transami@transami.net> wrote:

[#44320] Re: opengl — Tom Sawyer <transami@...> 2002/07/11

just did apt-get mesag-dev. still the same thing:

[#44387] Dynamic Methods — "John" <nojgoalbyspam@...>

Hi all,

29 messages 2002/07/12
[#44402] Re: Dynamic Methods — "John" <nojgoalbyspam@...> 2002/07/12

Wow! Thanks Dave!

[#44408] Re: Dynamic Methods — Michael Campbell <michael_s_campbell@...> 2002/07/12

[#44415] Re: Dynamic Methods — "John" <nojgoalbyspam@...> 2002/07/13

> (What do you propose if more than one possibility matches, by the

[#44425] hey! where's #count? — Tom Sawyer <transami@...>

i went to count the number of equal objects in an array and discoverd

24 messages 2002/07/13
[#44515] Re: hey! where's #count? — "Christoph" <chr_news@...> 2002/07/14

"Tom Sawyer" wrote

[#44516] Re: hey! where's #count? — Philipp Meier <meier@...> 2002/07/14

On Sun, Jul 14, 2002 at 11:41:55PM +0900, Christoph wrote:

[#44517] RE: hey! where's #count? — "Christoph" <crippel@...> 2002/07/14

[#44482] instance_eval — "John" <nojgoalbyspam@...>

Hi all,

14 messages 2002/07/13

[#44618] RE: TkText no -textvariable workaround? — "J.Hawkesworth" <J.Hawkesworth@...>

I think what Tom is after is a neat way to have the widget's display

41 messages 2002/07/16
[#44621] RE: TkText no -textvariable workaround? — Tom Sawyer <transami@...> 2002/07/16

On Tue, 2002-07-16 at 09:08, J.Hawkesworth wrote:

[#44622] Re: TkText no -textvariable workaround? — Dossy <dossy@...> 2002/07/16

On 2002.07.17, Tom Sawyer <transami@transami.net> wrote:

[#44626] Re: TkText no -textvariable workaround? — Tom Sawyer <transami@...> 2002/07/16

actually, Dossy, your post was a bit helpful. what i'm after also sort

[#44628] Re: TkText no -textvariable workaround? — Dossy <dossy@...> 2002/07/16

On 2002.07.17, Tom Sawyer <transami@transami.net> wrote:

[#44734] Syntax "surprise" — "David Douthitt" <DDouthitt@...>

I don't know if this qualifies as a real "surprise", but it was to me. I h=

39 messages 2002/07/17

[#44788] Selling ruby to my boss — Francis Hwang <sera@...>

So I've just started working as the sole programmer at a non-profit

22 messages 2002/07/18

[#44829] Q: "print usage_msg, exit 1 if error_flag" does not work — kwatch@... (kwatch)

Hi,

15 messages 2002/07/18
[#44831] Re: Q: "print usage_msg, exit 1 if error_flag" does not work — ts <decoux@...> 2002/07/18

>>>>> "k" == kwatch <kwatch@lycos.jp> writes:

[#44832] Re: Q: "print usage_msg, exit 1 if error_flag" does not work — Hugh Sasse Staff Elec Eng <hgs@...> 2002/07/18

On Thu, 18 Jul 2002, ts wrote:

[#44833] Re: Q: "print usage_msg, exit 1 if error_flag" does not work — ts <decoux@...> 2002/07/18

>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:

[#44855] Ruby in MacOSX 10.2 (Jaguar) — Luc Heinrich <lucsky@...>

It now seems to be "official" that Ruby will come by default with the next iteration of MacOSX.

12 messages 2002/07/18

[#44893] amrita 0.8.1 — Taku Nakajima <tnakajima@...>

Amrita is a a html/xhtml template library for Ruby.

22 messages 2002/07/19

[#44920] Objective C backend for Ruby? — "James F.Hranicky" <jfh@...>

While people are kicking around ideas for new backends for Ruby,

24 messages 2002/07/19

[#44985] GUI's and the Rouge, Part II — Tom Sawyer <transami@...>

in part one of this message i mention the problem of non-POLS and

72 messages 2002/07/20
[#45161] Re: GUI's and the Rouge, Part II — patrick-may@... (Patrick May) 2002/07/23

Ned Konz <ned@bike-nomad.com> wrote in message news:<200207201125.13528@ned.bike-nomad.com>...

[#45241] Re: GUI's and the Rouge, Part III (yes, finally) 1/2 — Tom Sawyer <transami@...> 2002/07/23

a bit of an intro: my original thought on the matter of making a

[#45246] Re: GUI's and the Rouge, Part III (yes, finally) 1/2 — Albert Wagner <alwagner@...> 2002/07/24

Still looks like plain old Model-View-Controller to me. You've split the

[#45282] RE: GUI's and the Rouge, Part III (yes, finally) 1/2 — "Curt Hibbs" <curt@...> 2002/07/24

Tom Sawyer wrote:

[#45287] RE: GUI's and the Rouge, Part III (yes, finally) 1/2 — Steve Tuckner <STUCKNER@...> 2002/07/24

What about WX-Windows. There is no ruby bindings for it, but would that fit

[#45300] RE: GUI's and the Rouge, Part III (yes, finally) 1/2 — Tom Sawyer <transami@...> 2002/07/24

On Wed, 2002-07-24 at 08:39, Steve Tuckner wrote:

[#45314] Re: GUI's and the Rouge, Part III (yes, finally) 1/2 — Wayne Vucenic <wvucenic@...> 2002/07/24

Hi Tom,

[#45364] RE: GUI's and the Rouge, Part III (yes, finally) 1/2 — "Curt Hibbs" <curt@...> 2002/07/25

Wayne Vucenic wrote:

[#45416] wxWindows for ruby — "repeater" <repeater@...> 2002/07/25

> Wayne Vucenic wrote:

[#44994] Learning Japanese — "John" <nojgoalbyspam@...>

Inspired to learn to read Japanese due to a lot of information on Ruby being

12 messages 2002/07/20

[#45044] Install troubles — Jim Freeze <jfreeze@...>

Hi:

13 messages 2002/07/21
[#45051] Re: Install troubles — Chris Gehlker <gehlker@...> 2002/07/21

On 7/21/02 12:13 PM, "Jim Freeze" <jfreeze@freebsdportal.com> wrote:

[#45085] ruby-dev summary 17696-17713 — Minero Aoki <aamine@...>

Hi all,

28 messages 2002/07/22
[#45090] rdtool and rdoc — Dave Thomas <Dave@...> 2002/07/22

Minero Aoki <aamine@mx.edit.ne.jp> writes:

[#45118] Re: rdtool and rdoc — "David Douthitt" <DDouthitt@...>

I took a look at your comparison page. I've not used either, but some thin=

16 messages 2002/07/22

[#45136] Strings and member-operators — the Bare <grrr@...>

Hi:

22 messages 2002/07/22
[#45140] Re: Strings and member-operators — Dossy <dossy@...> 2002/07/23

On 2002.07.23, the Bare <grrr@wild.net> wrote:

[#45148] Re: Strings and member-operators — David Alan Black <dblack@...> 2002/07/23

Hi --

[#45173] Re: Strings and member-operators — Dossy <dossy@...> 2002/07/23

On 2002.07.23, David Alan Black <dblack@candle.superlink.net> wrote:

[#45175] Re: Strings and member-operators — David Alan Black <dblack@...> 2002/07/23

Hi --

[#45198] Re: Strings and member-operators — George Ogata <g_ogata@...> 2002/07/23

Hello,

[#45201] Re: Strings and member-operators — David Alan Black <dblack@...> 2002/07/23

Hi --

[#45206] Re: Strings and member-operators — Tom Sawyer <transami@...> 2002/07/23

let me get this straight? is the original question how to strip a string

[#45257] Re: GUI's and the Rouge, Part III (yes, finally) 1/2 — Benjamin Peterson <bjsp123@...>

>you have this super application you wrote --the

11 messages 2002/07/24

[#45269] Can I get data back from a fork? — Jim Freeze <jfreeze@...>

Hi:

15 messages 2002/07/24

[#45286] Re: GUI's and the Rouge, Part III (yes, finally) 1/2 — Benjamin Peterson <bjsp123@...>

>its really just SOC on aanother level.

10 messages 2002/07/24

[#45368] Re: [OT] Re: GUI's and the Rouge, Part III (yes, finally) 1/2 — Benjamin Peterson <bjsp123@...>

>The functionality of a spreadsheet had been around

39 messages 2002/07/25
[#45476] Re: curses dev kit, was Re: [OT] Re: GUI's and the Rouge — Thomas Dickey <dickey@...> 2002/07/26

clemens fischer <ino-waiting@gmx.net> wrote:

[#45480] Re: curses dev kit, was Re: [OT] Re: GUI's and the Rouge — Massimiliano Mirra <list@...> 2002/07/26

On Fri, Jul 26, 2002 at 07:51:25PM +0900, Thomas Dickey wrote:

[#45422] Singleton Classes & thread safety — David King Landrith <dave@...>

I'm a bit new to Ruby, so please excuse me if this is a simplistic=20

24 messages 2002/07/25
[#45425] Re: Singleton Classes & thread safety — Ned Konz <ned@...> 2002/07/25

On Thursday 25 July 2002 02:06 pm, David King Landrith wrote:

[#45427] Re: Singleton Classes & thread safety — David King Landrith <dave@...> 2002/07/25

On Thursday, July 25, 2002, at 05:26 PM, Ned Konz wrote:

[#45430] Re: Singleton Classes & thread safety — Ned Konz <ned@...> 2002/07/25

On Thursday 25 July 2002 02:44 pm, David King Landrith wrote:

[#45431] How do you think of... — Michael Campbell <michael_s_campbell@...> 2002/07/25

This is going to sound like an odd question, and there's no "right"

[#45429] Opinion on Ruby maturity, the missing things — "Paul E.C. Melis" <paul@...>

Hello all,

18 messages 2002/07/25
[#45440] Re: Opinion on Ruby maturity, the missing things — John Carter <john.carter@...> 2002/07/25

On Fri, 26 Jul 2002, Paul E.C. Melis wrote:

[#45465] Ruby-Talk Index — Tom Sawyer <transami@...>

here's a one nighter coding challange for some one feeling the need to

17 messages 2002/07/26
[#45466] Re: Ruby-Talk Index — matz@... (Yukihiro Matsumoto) 2002/07/26

Hi,

[#45467] Re: Ruby-Talk Index — Tom Sawyer <transami@...> 2002/07/26

On Thu, 2002-07-25 at 23:50, Yukihiro Matsumoto wrote:

[#45621] Seattle.rb meeting tomorrow (7/30) — Pat Eyler <pate@...>

Just a quick reminder that we'll be meeting tomorrow night at 7:00 PM at

11 messages 2002/07/29

[#45644] FormatR 1.06 — Paul Rubel <rubel@...>

A new release of FormatR is out, 1.06. FormatR provides perl-like

37 messages 2002/07/30

[#45688] Ruby Language Q's — "Justin Johnson" <justinj@...>

76 messages 2002/07/30
[#45689] Re: Ruby Language Q's — Dave Thomas <Dave@...> 2002/07/30

"Justin Johnson" <justinj@mobiusent.com> writes:

[#45690] Re: Ruby Language Q's — ts <decoux@...> 2002/07/30

>>>>> "D" == Dave Thomas <Dave@PragmaticProgrammer.com> writes:

[#45723] Syntax proposal — Massimiliano Mirra <list@...>

I often write things like this:

12 messages 2002/07/30

[#45737] ActiveRubyScript and RubyAEOSA — Chris Gehlker <gehlker@...>

I just discovered ActiveRubyScript (sometimes written as two words) by

14 messages 2002/07/30
[#45742] Re: ActiveRubyScript and RubyAEOSA — "Hal E. Fulton" <hal9000@...> 2002/07/30

----- Original Message -----

[#45768] RE: A very basic tail -f implementation — "Berger, Daniel" <djberge@...>

> From: Paul Brannan [mailto:pbrannan@atdesk.com]

12 messages 2002/07/30

[#45799] Question about GetoptLong — Patrick Bennett <patrick.bennett@...>

I'm trying to recreate a Perl script in Ruby and have run into a problem.

22 messages 2002/07/31

[#45829] Unicode in Ruby now? — Tobias Peters <tpeters@...>

I've read the thread "Unicode in Ruby's Future?" [ruby-talk: 40016]. It

52 messages 2002/07/31
[#45840] Re: Unicode in Ruby now? — matz@... (Yukihiro Matsumoto) 2002/07/31

Hi,

[#45954] Re: Unicode in Ruby now? — Tobias Peters <tpeters@...> 2002/08/01

On Wed, 31 Jul 2002, Yukihiro Matsumoto wrote:

[#45960] Re: Unicode in Ruby now? — Curt Sampson <cjs@...> 2002/08/01

On Thu, 1 Aug 2002, Tobias Peters wrote:

[#45969] Re: Unicode in Ruby now? — Alexander Bokovoy <a.bokovoy@...> 2002/08/01

On Thu, Aug 01, 2002 at 07:53:07PM +0900, Curt Sampson wrote:

[#45973] Re: Unicode in Ruby now? — Curt Sampson <cjs@...> 2002/08/01

On Thu, 1 Aug 2002, Alexander Bokovoy wrote:

[#45979] Re: Unicode in Ruby now? — Alexander Bokovoy <a.bokovoy@...> 2002/08/01

On Thu, Aug 01, 2002 at 09:55:48PM +0900, Curt Sampson wrote:

[#45982] Re: Unicode in Ruby now? — Curt Sampson <cjs@...> 2002/08/01

On Thu, 1 Aug 2002, Alexander Bokovoy wrote:

[#45993] Re: Unicode in Ruby now? — Alexander Bokovoy <a.bokovoy@...> 2002/08/01

On Thu, Aug 01, 2002 at 11:23:38PM +0900, Curt Sampson wrote:

[#46042] Re: Unicode in Ruby now? — Curt Sampson <cjs@...> 2002/08/02

On Fri, 2 Aug 2002, Alexander Bokovoy wrote:

[#46260] Re: Unicode in Ruby now? — Clifford Heath <cjh_nospam@...> 2002/08/04

Curt Sampson wrote:

[#46266] Re: Unicode in Ruby now? — Curt Sampson <cjs@...> 2002/08/05

On Mon, 5 Aug 2002, Clifford Heath wrote:

[#46281] Re: Unicode in Ruby now? — Clifford Heath <cjh_nospam@...> 2002/08/05

Curt Sampson wrote:

[#45922] Re: Unicode in Ruby now? — Clifford Heath <cjh_nospam@...> 2002/08/01

Matz,

[#45931] Re: Unicode in Ruby now? — Curt Sampson <cjs@...> 2002/08/01

On Thu, 1 Aug 2002, Clifford Heath wrote:

[#45859] matrix challange — Daniel Bretoi <lists@...>

15 messages 2002/07/31

[#45876] Emacs is dead, long live whatever comes after that as long as it is made with Ruby — Jani Alanko <jani.alanko@...>

Subject is not exactly right but I was too lazy to invent something that

13 messages 2002/07/31

RE: GUI's and the Rouge, Part II

From: "Rich Kilmer" <rich@...>
Date: 2002-07-20 19:26:40 UTC
List: ruby-talk #44996
Apologize in advance...this is a LONG response...

> -----Original Message-----
> From: Tom Sawyer [mailto:transami@transami.net]
> Sent: Saturday, July 20, 2002 1:01 PM
> To: ruby-talk ML
> Subject: GUI's and the Rouge, Part II
> 
> in part one of this message i mention the problem of non-POLS and
> ugliness when it came to hand coding a GUI interface. follow this
link.
> it is example code of the Rouge's utopia:
> 
> http://www.rubyide.org/cgi-bin/wiki.pl?RougeArchitecture/Alpha


Well I have not looked at this in a bit.  I wrote this in an evening as
more of a proof of concept than anything else.  Sean Russell had ideas
that appear to follow yours more closely than mine.  BTW:  I have
uploaded the source that enabled this to:
http://www.infoether.com/ruby/utopia.zip

It does not show it in the example, but the attributes and available
widget definitions are completely extensible in the model (see
utopia.rb).  Again, it was more of an experiment than a "real solution"
to the problem of GUI abstraction.

> 
> i can honestly say this code is probably better than any i have ever
> seen, but i'm sorry, it's still just dosen't look like my idea of gui
> utopia. it is still a traditional approach, albiet very innovative in
> its use of ruby's OO and iterators, it nonetheless follows the same
> overall design characteristics of other tools: defining each and every
> widget, designating *content* and style, their coorelation, and
binding
> procedures before passing off execution control (app.controller.start)

First, execution control is not necessarily passed off by starting the
controller.  It does not have to be, but since Ruby's threading is
non-native, most UI toolkits kind of take over. This could be addressed
(without adding native threads to Ruby)...such as having another process
that presents and controls the UI and communicates to the Ruby process
via a socket...like X.

Second, I have no problem with binding an object-attribute in as a
binding to a widget.  Like:

class MyClass
  attr_accessor :avar
  def initialize
    @avar = ""
  end
end
myobj = MyClass.new

myLabel(:label).text(bind_object(myobj, :avar))

and when the method bind_object is called it aliases the original avar=
method with one that updates the Label's 'text' attribute (and vice
versa).

Or to more align with your example below:

myobj.extend Utopia::WidgetBinder
myobj.bind_widget(mainWindow.myLabel, :avar)

> to the gui engine. but, i hear you thinking, "what other way is there?
> that's just how it's done!" well, i emphisized content above because
its
> the key to a better approach. we can get a taste of this by looking
> amrita:
> 
> http://kari.to/amrita/sources/docs/QuickStart
> 
> the beauty of amrita lies in the fact that the data which is to appear
> in the end result contributes to its design. thus, in part, the layout
> does not have to be specified because the data itself designates it.
the
> end result is cleaner leaner code. in effect amrita has done what OO
> design is intended to do, it has given precedence to the data model.

Well, in amrita, the hierarchy of the data has to match the hierarchy of
the (HTML) UI.  As can be shown in this example from the QuickStart doc
above:

<table border="1">                      
  <tr><th>name</th><th>author</th></tr> 
  <tr id="table1">                        
    <td id="name"><td id="author">      
  </tr>                                 
</table>                                
   

data = {                                               
   :table1=>[                                          
      { :name=>"Ruby", :author=>"matz" },              
      { :name=>"perl", :author=>"Larry Wall" },        
      { :name=>"python", :author=>"Guido van Rossum" },
   ]                                                   
}  

You see, the minimum you need is a hierarchy in your design of the UI
because UIs are built using a "container/component" model.  My example
from utopia presented a simple hierarchy, but one that needs to be
specified somewhere.  That I fully specified all of the attributes of
the elements in the UI...up front...does not mean it needs to be so.
You could do:

require 'utopia'
  
app = Utopia.new_application("My Application")

mainWindow = app.modeller.build(:window).body {
  icon(:icon)
  menu(:menubar).items {
    file(:menu)
    help(:menu)
  }
  fruit_panel(:panel).body {
    firstName(:textfield)
    lastName(:textfield)       
    favoriteFruit(:textarea)
    submit(:button)
    clear(:button)
  }
}

Then do:

mainWindow.fruit_panel.body.firstName.text.bind_object(obj, :foo);

> 
> although amrita is a unidirection html/xhtml templating system, her
> principles just as easily carry over to guis. arbitrarily, as
> programmers, we can think of it like this: instead of
widget.displays(x)
> we get x.widgetized. let me provide a mock code fragment to help
> clearify. we'll call our imaginary gui toolkit, RougeDuex.
> 
>   require 'rougeduex'
> 
>   class MyClass
>     attr_accessor avar
>     def initialize
>       @avar = ""
>     end
>   end
> 
>   myobj = MyClass.new
>   myobj.avar.extend RougeDeux::WidgetFactory(:Label)
> 
>   mywin = RougeDuex::WidgetFactory(:Window).show
>   mywin.embody {
>     pack myobj.avar, RougeDuex::TOP
>   }
> 
>   myobj.avar = "Hello, World!"
> 
> and just like that we have a window with a label in it greeting us.

OK, now give me syntax for the example I presented on the the rubyide
site.  Your idea of mixing the widget capability into the object is
cool, but how the widgets get organized on the screen needs to be
defined somewhere.

> 
> you might notice something a bit odd about this very simple example:
the
> window was displayed prior to the label being added. this is a key
> point. by retaining execution, such that the gui is a spawned
processes,
> we retain the ability to modify it "on-the-fly". just think of all the
> neat tricks we can do with that! no longer are we limited to just the
> event model of the gui's engine. morever, notice that the class

Again, I absolutely agree with you, and I don't think we should be
limited to the event model of the GUI (OS'es aren't).

> definition is completly clean. there's no mention of RougeDuex
anywhere
> in it, nonetheless it is direclty linked to our gui. should avar
change
> for any reason, so will our label. and if avar were a text entry field
> or any other input widget, instead of a label, avar would
automagically
> reflect that input.

Again, having the UI widgets bind to non-UI objects is cool, as I showed
above.

> 
> you may wonder how other aspects of avar as a label get designated.
well
> since avar was extended to be a label it gained a few things that
allow
> us to do that: myobj.avar.style={:color=>'red'}, for example. no
> problem!
> 
> also one might be concerned about performance with such dynamic
> rendering, since anytime one changes a variable the gui requires
> refreshing. well, a transaction model can help with that were it is
> essential.
> 
> so there's the ideal, my friends. i am sure certain elements of the
> current Rouge project could be carried over into this, and i think the
> end result would be the easiest, most intuitive and fun (like ruby!)
gui
> to ever have the priviledge of being coded by you ;-)

I am not hung up on anything done so far (it was a quick hack), but we
need to see semi-realistic examples with windows, menus, events, etc.

> 
> in the last part of my series (don't ask me what posessed me to do
this,
> i don't know!) i'll go into the possabilities of implementation.
> 

I will look forward to it.

> 
> ~transami
> 
>   _(")_  v man
>    \v/
>    ^ ^


In This Thread