Design tool Jeszra 0.1 for Ruby Tk

Hi all Ruby-Tk Users and Developers.

I am pleased to announce the first
public release of Jeszra (0.1).

http://jeszra.sourceforge.net

Jeszra is a visual design tool, written
in Tcl/Tk, which combines 2D vector graphics
and Graphical User Interface design.

Jeszra generates RUBY (Ruby-Tk) wrapper classes for
the components developed within Jeszra.
Through Jeszra all Tcl/Tk control become
available to a Ruby application.

Jeszra also generates DocBook manual pages for
the Ruby wrapper classes.

Examples for this are the
Runtime Library and Gestalt Items, both libraries
are being developed with Jeszra and documented through
it:
http://gestaltitems.sourceforge.net/ruby/index.html

The latest Runtime Library and Gestalt Items are
included in the jeszra01.tgz download package.
Jeszra also contains a new composite library (Jeszra Library),
for which Ruby wrapper classes are available:
rubyJeszra01.tgz.

http://sunet.dl.sourceforge.net/project/jeszra/Jeszra%200.1/jeszra01.tgz
http://sunet.dl.sourceforge.net/project/jeszra/Jeszra%200.1/rubyJeszra01.tgz

Jeszra Overview:


Jeszra features a modular builder, with several
backends. Extending Jeszra’s capabilities with
another backend such as for FFI is considerable simple.

Vector Graphics:
TkZinc (3.3), TkPath (0.2 and 0.3), Tk Canvas (8.4 and 8.5)
are being used for 2D-vector graphics.

2D vector graphics include transformations,
gradients, transparency, images, embedded
windows …

Splines for TkZinc and TkPath (requires the tclsplines package).

The GUI-part:
Covers every Tcl/Tk window type featuring a configure command.
15+ geometry managers are supported.

Jeszra also generates and edits contents for
selected windows types:
Tk Listbox, Hugelist, Rtl_mlistbox, Tk Text …

Jeszra generates:
Tcl/Tk,
Ruby, Lisp and Python wrapper classes for the designed composites.
DocBook manual pages for the generated
Tcl, Ruby, Lisp and Python code.

Emacs Skeletons,
Xcode textmacros for the Xcode Tcl-Mode

Scalable Vector Graphics (SVG),
Generating SVG requires the tdom and Img packages.
SVG can be generated for TkZinc, TkPath, Tk Canvas,
Tk Listbox …
Screen shots (Img) are inserted for some
windows, such as for Tile.

Jeszra imports SVG into Tcl/Tk,
TkPath 0.2 or 0.3, tdom and Img are required.

Jeszra features an usual flexible User
Interface, which allows for custom palettes,
importing and exporting of palettes, a custom
tools menu and a script recorder.

The Jeszra website is currently under construction,
but the Jeszra book is online:

All elements of Jeszra’s User Interface are
composite windows themselves and can be incorporated into
other Tcl/Tk, Ruby-Tk, Tkinter, Ltk applications.
The manual pages for Tcl are online at:
http://jeszra.sourceforge.net/pages/

Have a nice day
-roger

The latest Runtime Library and Gestalt Items are
included in the jeszra01.tgz download package.
Jeszra also contains a new composite library (Jeszra Library),
for which Ruby wrapper classes are available:
rubyJeszra01.tgz.

No gem? :slight_smile:

-r

Roger P. schrieb:

Not yet, sorry…
I would like to improve its ruby support first, mainly according to
things such as
type conversions like variable traces, because I think this is nicely
done in ruby-tk.

-roger

On Thu, Dec 10, 2009 at 4:35 PM, Arndt Roger S.
[email protected] wrote:

Hi all Ruby-Tk Users and Developers.

I am pleased to announce the first
public release of Jeszra (0.1).

http://jeszra.sourceforge.net

Wow, neat!

martin

hemant schrieb:

the Ruby wrapper classes.
for which Ruby wrapper classes are available:

Ruby, Lisp and Python wrapper classes for the designed composites.
Screen shots (Img) are inserted for some
The Jeszra website is currently under construction,

Awesome!

BTW, the manual pages look beautiful. How did you generate them?

Jeszra generates docbook refentry documents from the source code
+separate docbook documents +svg.

The used docbook fragments are distributed with Jeszra
–inside the docbook sub-directory.

The svgs are also generated with Jeszra.

BTW: The ruby wrapper classes also
support rdoc.

-roger

On Thu, Dec 10, 2009 at 4:35 PM, Arndt Roger S.
[email protected] wrote:

are being developed with Jeszra and documented through
http://sunet.dl.sourceforge.net/project/jeszra/Jeszra%200.1/rubyJeszra01.tgz
are being used for 2D-vector graphics.

Emacs Skeletons,
TkPath 0.2 or 0.3, tdom and Img are required.
All elements of Jeszra’s User Interface are
composite windows themselves and can be incorporated into
other Tcl/Tk, Ruby-Tk, Tkinter, Ltk applications.
The manual pages for Tcl are online at:
Jeszra Library

Awesome!

BTW, the manual pages look beautiful. How did you generate them?

Hi,

From: Arndt Roger S. [email protected]
Subject: [ANN] Design tool Jeszra 0.1 for Ruby Tk
Date: Thu, 10 Dec 2009 20:05:06 +0900
Message-ID: [email protected]

Hi all Ruby-Tk Users and Developers.

I am pleased to announce the first
public release of Jeszra (0.1).

I’m a develper of Ruby/Tk.
Can I help you? Do you have any request to Ruby/Tk?

Hidetoshi NAGAI schrieb:

I am pleased to announce the first
public release of Jeszra (0.1).

I’m a develper of Ruby/Tk.
Can I help you? Do you have any request to Ruby/Tk?

Yes, there is a huge pile of work to push ahead for Jeszra.
I myself still have to do some admin homework to do the sourceforge
projects
to … setting up the repositories and updating the gestaltitems online
documentation as
well as the libraries themselve.

In relation with Ruby:
The immediate thing is the lack of ruby examples inside the
documentation,
I did include lots of tcl examples, but only one for ruby sofar --the
goolbar add command–

Providing these examples and reviewing them is a lot of work.

The entire documentation for the libraries and Jeszra is written
in DocBook and all the DocBook manual pages are being generated
by Jeszra.

There are two DocBook related chapters inside the Jesra book
explaining how the documentation is being created, the abridged
chapter explains how to modify the generation process itself.

That is: Everyone with a DocBook 4.5 toolchain is able to
generate all the included manual pages, independently from me.

For the current time I will collect those examples sent to me
by email and publish them inside a newly created review section
online for public review.

I think the best way for this is to publish the email address of
the original example-author within the example, so
that each reviewer can directly communicate with the
original authors.

I also appriciate an example how to create a rubygem
(I think there tutorial out there).

rubygem, starpack, Asd … should be generated by Jeszra
as-well. So this has to be done in Tcl not Ruby.

Most other things are related with future versions.
This is actual software design work

I want to: Integrate Jeszra within every ruby-Tk, Lisp-Tk, Tcl/Tk,
Python-Tk …
application. I think I will have to work colsely with
at least 3 projects from small to large, in order to define these
integration
procedure. Jeszra itself uses this for itself: The little red button
allows full
access to Jeszra’s internals–something akin to a live vivisection of
Jeszra :wink:

I want to: Allow editing Ruby-Tk, Tcl//Tk … Designs side-by-side
to switch and transgress these projects freely. I have no glue yet how
to accomplish that with Ruby-Tk.

There is some very important code inside of Tkinter (Python)
related to the Tix package.

The package allows the subclassing of existing Tk windows,
such an mechanism is also needed inside the wrapper classes,
since in many cases may the need arise to access internal windows
of a composite window. This is for example necessary for the
bwidget tabset, were a frame is generated by the tabset and
returned to the caller, in which then the dialog is being put.

Runtime Library and GestaltItems do not generally need
this, since I always prefer explicit creation rules over implicit ones.

I like the way how Ruby-Tk casts the return values and
properties when passing them from and to Tcl/Tk.
The generated wrapper classes lack these ability --of course
Jeszra has to generate those either.
In the meantime this should be done by inheritance, lot of work.

Thanks for asking

-roger

Hidetoshi NAGAI schrieb:

I am pleased to announce the first
public release of Jeszra (0.1).

I’m a develper of Ruby/Tk.
Can I help you? Do you have any request to Ruby/Tk?

Part 2:

Since you seem to be located in Nippon,
You could also help in translating Jeszra.

The easy part is the online help and href to set F1 help on The included
Ruby manual pages.

Both parts are documented inside the first Runtime Library book
available via download from the gestaltitmes
http://downloads.sourceforge.net/gestaltitems/rtlmanual11.pdf?modtime=1226427343&big_mirror=0

This translation can be done within Jeszra.
Use the red-button inside the general preferences
and add href and help entries to the selected window like:
“long info|tooltip info”

These help entries are then stored inside your .jeszra configuration
file,
so make frequent backups of it or better put it under version control.

This not yet possible normal text entries, I have to make some internal
changes
to activated it for normal text watch out for the next patch:
translator.patch.

It won’t be possible to translate non-window text, this way :frowning:

Jeszra should not only generate wrapper classes for Ruby, but actually
also Ruby-Tk code. The code generation in Jeszra is split between a
parser and composing backends.

Teaching Jeszra to generate Ruby-Tk as-well requires only a new
Ruby backend.

See vg26/library/tclDumper.tcl and svgDumper.tcl for
the Tcl and SVG backends. This is Tcl and there is no documentation for
this yet, so you have to go with my comments.
I am a fanatic on comments, so be better verbose and use
a coherent style.

I did put an emacs sekeleton into the documentation which auto
generates Jeszra’s commentary style. Ask for this skeleton then I will
send it to you.

On second thought: the ruby examples for the documentation are the
needed backend.

Jeszra generates code based on the Runtime Library template
mechansims (also described in the mentioned book).
There are other models and similar composite libraries in
Tcl/tk iwidgets to mention one.

Jeszra should open and write also projects adhereing to
these models, this will make it possible to create a
proper documentation for these libraries and also
wrapper classes. Since I have a conflicts of interest
here: I am not writing these projects types myself,
but they have to be written…

With the excpetion of the examples don’t send any code to me,
Just notify me that you have a delivery for Jeszra, what it is,
where it is published --so that I can set a link on the website–
That it is for Ruby, whether or not you like to join work with other
developers working on the same thing.

I’ll call you back for integration, so don’t expect any answer from me,
this way I have more time free helping devolpers working on the
tough parts.

Thanks

-roger