From: James Britt on
Brandon Mr wrote:
>
> monkeybars i dont know about i will check with that and see if i can get
> some info on that, and get back here

http://monkeybars.rubyforge.org/

http://www.ibm.com/developerworks/library/j-monkeybars/index.html

My IBM article is slightly dated, but fundamentally correct.

See also Neurogami::SwingSet

http://neurogami.github.com/swingset/

mostly intended for use with Jimpanzee (my fork of Monkeybars) or
Monkeybars.

--
James Britt

www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development

From: James Britt on
Chuck Remes wrote:
>
> On Nov 14, 2009, at 10:24 AM, Brandon Mr wrote:
>
>> Marnen Laibow-Koser wrote:
>>> Brandon Mr wrote:
>>>> first off, sorry if this in the wrong place, i just signed up here.
>>>> if so, let me know where to put further posts.
>>>>
>>>> i am looking for a way to make a customized gui, like using differently
>>>> shaped windows or graphics for the window borders, while allowing me to
>>>> add buttons (using images)
>>> [...]
>>>
>>> Will Limelight (a bit like shoes, in JRuby) or Monkeybars (Swing
>>> integration framework) be any help?
>>>
>>> Best,
>>> --
>>> Marnen Laibow-Koser
>>> http://www.marnen.org
>>> marnen(a)marnen.org
>>
>> i did see limelight, and i dont know java. which some java is required
>> to use limelight effectively, unless i am mistaken?
>>
>> monkeybars i dont know about i will check with that and see if i can get
>> some info on that, and get back here
>
> Limelight is pure ruby so you don't need to learn any java.
>
> Monkeybars is a DSL for Java Swing,

Um, not quite. It's a robust MVC library that makes it much easier to
separate GUI code from app logic and data manipulation. (In fact, were
someone motivated, the Swing part could be swapped out for SWT and most
of the code would stay the same.)

> so while you don't need to write any
> Java code it is very useful to know how to read it. To effectively use
> Monkeybars requires some knowledge of the Java Swing API.

Sometimes. If you use the free NetBeans GUI editor you can use a
WYSIWYG tool to draw and compile the UI, and use (J)Ruby to drive it.
Or use Neurogami::SwingSet.

Knowing some Swing certainly helps; Monkeybars is not really meant to
*hide* Swing, but that's part of its strength. Anything you can do in
Swing you can do in Monkeybars. Sometimes it's easy (e.g. setting up
buttons and text fields) sometimes not ( various table controls, for
example, that are freakishly complex in that special Java way).

I started Neurogami::SwingSet to wrap common Swing items to reduce (and
ideally eliminate) the need for Swing knowledge, so you can get a fair
amount done using a plain text editor and no concern for Swing innards.

In actual practice, though, while I mostly use SwingSet for basic forms
(Help, About, or anything that is a simple grid of basic components) I
find that sophisticated layouts and screens works best when done using
a GUI editor and occasionally some manual Swing-based code to make
things Just So.

When picking a GUI toolkit there is often trade-off between what the
code does for you and what the code allows you.

I'm pretty sure all of the more robust GUI toolkits expect you to know
the APIs for the numerous widgets, so Monkeybars is no different in that
way.

For example, Shoes and Limelight make certain things stupid easy, but
you have a small set of pre-defined widgets to use. If those are all
you are going to need (and the toolkits meet your packaging and
distribution requirements), then you win.

If you go for Ruby bindings for GTK or Wx (or any of the robust JRuby
Swing frameworks) you get far more options, but an increase in
complexity and a need to learn some widget APIs. The win comes from the
greater sophistication possible in your applications.

The bottom line is that anyone looking for a Ruby GUI toolkit should not
be put off by the idea of maybe having to learn and use something not
strictly Ruby. That's shortsighted.

The key is to know if and when your choice is going to box you in
because you can only do what the toolkit author has decided for you.


--
James Britt

www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development

From: Brandon B. on
> Knowing some Swing certainly helps; Monkeybars is not really meant to
> *hide* Swing, but that's part of its strength. Anything you can do in
> Swing you can do in Monkeybars. Sometimes it's easy (e.g. setting up
> buttons and text fields) sometimes not ( various table controls, for
> example, that are freakishly complex in that special Java way).

not even sure what swing is... i dont mind learning new things, i
just dont know what to learn to get what i want to get done. i think i
am gonna look up swing though... sounds like it could be useful to know.

> I started Neurogami::SwingSet to wrap common Swing items to reduce (and
> ideally eliminate) the need for Swing knowledge, so you can get a fair
> amount done using a plain text editor and no concern for Swing innards.
>
> In actual practice, though, while I mostly use SwingSet for basic forms
> (Help, About, or anything that is a simple grid of basic components) I
> find that sophisticated layouts and screens works best when done using
> a GUI editor and occasionally some manual Swing-based code to make
> things Just So.

gui editors are a big help, and i have used Fox and GTK. i have looked
through the libraries and examples that i can find and i just cant seem
to get what i want done using them. almost makes me feel like i just
wasted alot of time learning something that wont help. even though i
know that to be false.

> When picking a GUI toolkit there is often trade-off between what the
> code does for you and what the code allows you.
>
> I'm pretty sure all of the more robust GUI toolkits expect you to know
> the APIs for the numerous widgets, so Monkeybars is no different in that
> way.
>
> For example, Shoes and Limelight make certain things stupid easy, but
> you have a small set of pre-defined widgets to use. If those are all
> you are going to need (and the toolkits meet your packaging and
> distribution requirements), then you win.
>
> If you go for Ruby bindings for GTK or Wx (or any of the robust JRuby
> Swing frameworks) you get far more options, but an increase in
> complexity and a need to learn some widget APIs. The win comes from the
> greater sophistication possible in your applications.
>
> The bottom line is that anyone looking for a Ruby GUI toolkit should not
> be put off by the idea of maybe having to learn and use something not
> strictly Ruby. That's shortsighted.\

i dont mean to sound shortsighted, and yes i do agree, i actually want
to learn alot of the languages, C++, Java, ruby, PHP, HTML. i love to
program. i just get stuck into one goal that shouldnt be too hard to
make happen and... well... i cant get it done. frustrating to say the
least. gotta love programming....

like i said, i dont have a problem with learning new things, i just dont
know what to learn, i feel like a kid in a candy store trying to figure
out what he wants.....
--
Posted via http://www.ruby-forum.com/.

From: Brandon B. on
What about SDL?
--
Posted via http://www.ruby-forum.com/.

From: James Britt on
Brandon B. wrote:

> i dont mean to sound shortsighted, and yes i do agree, i actually want
> to learn alot of the languages, C++, Java, ruby, PHP, HTML. i love to
> program. i just get stuck into one goal that shouldnt be too hard to
> make happen and... well... i cant get it done. frustrating to say the
> least. gotta love programming....
>
> like i said, i dont have a problem with learning new things, i just dont
> know what to learn, i feel like a kid in a candy store trying to figure
> out what he wants.....

It can be tricky. If you can spend a bit of time with different
libraries and tools it would help. But even then, it can be hard to
really know what each offers over the long run.



--
James Britt

www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development